Update the libmetrics API to match the new Chrome interface.
Review URL: http://codereview.chromium.org/1642018
diff --git a/metrics/metrics_client.cc b/metrics/metrics_client.cc
index 17f933c..bb67698 100644
--- a/metrics/metrics_client.cc
+++ b/metrics/metrics_client.cc
@@ -7,13 +7,11 @@
#include "metrics_library.h"
-// Usage: metrics_client [-ab] metric_name metric_value
int main(int argc, char** argv) {
bool send_to_autotest = false;
bool send_to_chrome = true;
bool secs_to_msecs = false;
- int metric_name_index = 1;
- int metric_value_index = 2;
+ int name_index = 1;
bool print_usage = false;
if (argc >= 3) {
@@ -37,43 +35,43 @@
break;
}
}
- metric_name_index = optind;
- metric_value_index = optind + 1;
+ name_index = optind;
} else {
print_usage = true;
}
- // Metrics value should be the last argument passed
- if ((metric_value_index + 1) != argc) {
+ if ((name_index + 5) != argc) {
print_usage = true;
}
if (print_usage) {
fprintf(stderr,
- "Usage: metrics_client [-abt] name value\n"
+ "Usage: metrics_client [-abt] name sample min max nbuckets\n"
"\n"
- " default: send metric with integer value to chrome only\n"
- " -a: send metric to autotest only\n"
+ " default: send metric with integer values to Chrome only\n"
+ " -a: send metric to autotest only (min/max/nbuckets ignored)\n"
" -b: send metric to both chrome and autotest\n"
- " -t: convert value from float seconds to int milliseconds\n");
+ " -t: convert sample from double seconds to int milliseconds\n");
return 1;
}
- const char* name = argv[metric_name_index];
- int value;
+ const char* name = argv[name_index];
+ int sample;
if (secs_to_msecs) {
- float secs = strtof(argv[metric_value_index], NULL);
- value = static_cast<int>(secs * 1000.0f);
+ sample = static_cast<int>(atof(argv[name_index + 1]) * 1000.0);
} else {
- value = atoi(argv[metric_value_index]);
+ sample = atoi(argv[name_index + 1]);
}
+ int min = atoi(argv[name_index + 2]);
+ int max = atoi(argv[name_index + 3]);
+ int nbuckets = atoi(argv[name_index + 4]);
// Send metrics
if (send_to_autotest) {
- MetricsLibrary::SendToAutotest(name, value);
+ MetricsLibrary::SendToAutotest(name, sample);
}
if (send_to_chrome) {
- MetricsLibrary::SendToChrome(name, value);
+ MetricsLibrary::SendToChrome(name, sample, min, max, nbuckets);
}
return 0;
}