Index: src/platform/metrics/metrics_client.cc |
diff --git a/src/platform/metrics/metrics_client.cc b/src/platform/metrics/metrics_client.cc |
index cdea0124c64a580c4e21c976aa116b7294f51a23..17f933cbb37b499e5b88a8603e4a5872eb1a7cda 100644 |
--- a/src/platform/metrics/metrics_client.cc |
+++ b/src/platform/metrics/metrics_client.cc |
@@ -2,22 +2,16 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include <errno.h> |
-#include <sys/file.h> |
-#include <string.h> |
-#include <stdio.h> |
- |
+#include <cstdio> |
#include <cstdlib> |
-#include <iostream> |
#include "metrics_library.h" |
-using namespace std; |
- |
// 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; |
bool print_usage = false; |
@@ -25,7 +19,7 @@ int main(int argc, char** argv) { |
if (argc >= 3) { |
// Parse arguments |
int flag; |
- while ((flag = getopt(argc, argv, "ab")) != -1) { |
+ while ((flag = getopt(argc, argv, "abt")) != -1) { |
switch (flag) { |
case 'a': |
send_to_autotest = true; |
@@ -35,6 +29,9 @@ int main(int argc, char** argv) { |
send_to_chrome = true; |
send_to_autotest = true; |
break; |
+ case 't': |
+ secs_to_msecs = true; |
+ break; |
default: |
print_usage = true; |
break; |
@@ -52,22 +49,31 @@ int main(int argc, char** argv) { |
} |
if (print_usage) { |
- cerr << "Usage: metrics_client [-ab] name value" << endl; |
- cerr << endl; |
- cerr << " default: send metric to chrome only" << endl; |
- cerr << " -a: send metric to autotest only" << endl; |
- cerr << " -b: send metric to both chrome and autotest" << endl; |
+ fprintf(stderr, |
+ "Usage: metrics_client [-abt] name value\n" |
+ "\n" |
+ " default: send metric with integer value to chrome only\n" |
+ " -a: send metric to autotest only\n" |
+ " -b: send metric to both chrome and autotest\n" |
+ " -t: convert value from float seconds to int milliseconds\n"); |
return 1; |
} |
+ const char* name = argv[metric_name_index]; |
+ int value; |
+ if (secs_to_msecs) { |
+ float secs = strtof(argv[metric_value_index], NULL); |
+ value = static_cast<int>(secs * 1000.0f); |
+ } else { |
+ value = atoi(argv[metric_value_index]); |
+ } |
+ |
// Send metrics |
if (send_to_autotest) { |
- MetricsLibrary::SendToAutotest(argv[metric_name_index], |
- argv[metric_value_index]); |
+ MetricsLibrary::SendToAutotest(name, value); |
} |
if (send_to_chrome) { |
- MetricsLibrary::SendToChrome(argv[metric_name_index], |
- argv[metric_value_index]); |
+ MetricsLibrary::SendToChrome(name, value); |
} |
return 0; |
} |