| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef METRICS_LIBRARY_H_ | 5 #ifndef METRICS_LIBRARY_H_ |
| 6 #define METRICS_LIBRARY_H_ | 6 #define METRICS_LIBRARY_H_ |
| 7 | 7 |
| 8 #include <sys/types.h> | 8 #include <sys/types.h> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 // |sample| is the sample value to be recorded (1 <= |sample| < |max|). | 49 // |sample| is the sample value to be recorded (1 <= |sample| < |max|). |
| 50 // |max| is the maximum value of the histogram samples. | 50 // |max| is the maximum value of the histogram samples. |
| 51 // 0 is the implicit underflow bucket. | 51 // 0 is the implicit underflow bucket. |
| 52 // [|max|,infinity) is the implicit overflow bucket. | 52 // [|max|,infinity) is the implicit overflow bucket. |
| 53 bool SendEnumToUMA(const std::string& name, int sample, int max); | 53 bool SendEnumToUMA(const std::string& name, int sample, int max); |
| 54 | 54 |
| 55 // Sends to Autotest and returns true on success. | 55 // Sends to Autotest and returns true on success. |
| 56 static bool SendToAutotest(const std::string& name, int value); | 56 static bool SendToAutotest(const std::string& name, int value); |
| 57 | 57 |
| 58 private: | 58 private: |
| 59 friend class CMetricsLibraryTest; |
| 59 friend class MetricsLibraryTest; | 60 friend class MetricsLibraryTest; |
| 60 FRIEND_TEST(MetricsLibraryTest, FormatChromeMessage); | 61 FRIEND_TEST(MetricsLibraryTest, FormatChromeMessage); |
| 61 FRIEND_TEST(MetricsLibraryTest, FormatChromeMessageTooLong); | 62 FRIEND_TEST(MetricsLibraryTest, FormatChromeMessageTooLong); |
| 62 FRIEND_TEST(MetricsLibraryTest, SendMessageToChrome); | 63 FRIEND_TEST(MetricsLibraryTest, SendMessageToChrome); |
| 63 FRIEND_TEST(MetricsLibraryTest, SendMessageToChromeUMAEventsBadFileLocation); | 64 FRIEND_TEST(MetricsLibraryTest, SendMessageToChromeUMAEventsBadFileLocation); |
| 64 | 65 |
| 65 // Sends message of size |length| to Chrome for transport to UMA and | 66 // Sends message of size |length| to Chrome for transport to UMA and |
| 66 // returns true on success. | 67 // returns true on success. |
| 67 bool SendMessageToChrome(int32_t length, const char* message); | 68 bool SendMessageToChrome(int32_t length, const char* message); |
| 68 | 69 |
| 69 // Formats a name/value message for Chrome in |buffer| and returns the | 70 // Formats a name/value message for Chrome in |buffer| and returns the |
| 70 // length of the message or a negative value on error. | 71 // length of the message or a negative value on error. |
| 71 // | 72 // |
| 72 // Message format is: | LENGTH(binary) | NAME | \0 | VALUE | \0 | | 73 // Message format is: | LENGTH(binary) | NAME | \0 | VALUE | \0 | |
| 73 // | 74 // |
| 74 // The arbitrary |format| argument covers the non-LENGTH portion of the | 75 // The arbitrary |format| argument covers the non-LENGTH portion of the |
| 75 // message. The caller is responsible to store the \0 character | 76 // message. The caller is responsible to store the \0 character |
| 76 // between NAME and VALUE (e.g. "%s%c%d", name, '\0', value). | 77 // between NAME and VALUE (e.g. "%s%c%d", name, '\0', value). |
| 77 int32_t FormatChromeMessage(int32_t buffer_size, char* buffer, | 78 int32_t FormatChromeMessage(int32_t buffer_size, char* buffer, |
| 78 const char* format, ...); | 79 const char* format, ...); |
| 79 | 80 |
| 80 const char* uma_events_file_; | 81 const char* uma_events_file_; |
| 81 }; | 82 }; |
| 82 | 83 |
| 83 #endif // METRICS_LIBRARY_H_ | 84 #endif // METRICS_LIBRARY_H_ |
| OLD | NEW |