Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(847)

Unified Diff: src/platform/metrics/metrics_library.cc

Issue 1642018: Update the libmetrics API to match the new Chrome interface. (Closed)
Patch Set: Address review comments. Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/platform/metrics/metrics_library.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/platform/metrics/metrics_library.cc
diff --git a/src/platform/metrics/metrics_library.cc b/src/platform/metrics/metrics_library.cc
index f482145a33d9fec0ad31fd153b4c0a9d893ce8d3..681cf96ab597e1cca77906e42887caccc115f6cb 100644
--- a/src/platform/metrics/metrics_library.cc
+++ b/src/platform/metrics/metrics_library.cc
@@ -21,8 +21,10 @@
#define READ_WRITE_ALL_FILE_FLAGS \
(S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
-static const char kAutotestPath[] = "/tmp/.chromeos-metrics-autotest";
-static const char kChromePath[] = "/tmp/.chromeos-metrics";
+static const char kAutotestPath[] =
+ "/var/log/metrics/autotest-events";
+static const char kChromePath[] =
+ "/var/log/metrics/uma-events";
static const int32_t kBufferSize = 1024;
using namespace std;
@@ -42,7 +44,7 @@ static void PrintError(const char *message, const char *file,
}
}
-// Sends message of size length to Chrome and returns true on success.
+// Sends message of size |length| to Chrome and returns true on success.
static bool SendMessageToChrome(int32_t length, const char *message) {
int chrome_fd = open(kChromePath,
O_WRONLY | O_APPEND | O_CREAT,
@@ -81,12 +83,12 @@ static bool SendMessageToChrome(int32_t length, const char *message) {
return success;
}
-// Formats a name/value message for Chrome in buffer and returns the
+// Formats a name/value message for Chrome in |buffer| and returns the
// length of the message or a negative value on error.
//
// Message format is: | LENGTH(binary) | NAME | \0 | VALUE | \0 |
//
-// The arbitrary format argument covers the non-LENGTH portion of the
+// The arbitrary |format| argument covers the non-LENGTH portion of the
// message. The caller is responsible to store the \0 character
// between NAME and VALUE (e.g. "%s%c%d", name, '\0', value).
static int32_t FormatChromeMessage(int32_t buffer_size, char *buffer,
@@ -119,7 +121,8 @@ static int32_t FormatChromeMessage(int32_t buffer_size, char *buffer,
return message_length;
}
-bool MetricsLibrary::SendToAutotest(string name, int value) {
+// static
+bool MetricsLibrary::SendToAutotest(const string& name, int value) {
FILE *autotest_file = fopen(kAutotestPath, "a+");
if (autotest_file == NULL) {
PrintError("fopen", kAutotestPath, errno);
@@ -131,12 +134,15 @@ bool MetricsLibrary::SendToAutotest(string name, int value) {
return true;
}
-bool MetricsLibrary::SendToChrome(string name, int value) {
+// static
+bool MetricsLibrary::SendToChrome(const string& name, int sample,
+ int min, int max, int nbuckets) {
// Format the message.
char message[kBufferSize];
int32_t message_length =
FormatChromeMessage(kBufferSize, message,
- "%s%c%d", name.c_str(), '\0', value);
+ "histogram%c%s %d %d %d %d", '\0',
+ name.c_str(), sample, min, max, nbuckets);
if (message_length < 0)
return false;
« no previous file with comments | « src/platform/metrics/metrics_library.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698