| 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 The Chrome OS "metrics" package contains utilities for client-side | 5 The Chrome OS "metrics" package contains utilities for client-side |
| 6 user metric collection. The collected data is sent to Chrome for | 6 user metric collection. The collected data is sent to Chrome for |
| 7 transport to the UMA server. | 7 transport to the UMA server. |
| 8 | 8 |
| 9 | 9 |
| 10 ================================================================================ | 10 ================================================================================ |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 to the module's link command). Both libmetrics.so and libmetrics.a | 25 to the module's link command). Both libmetrics.so and libmetrics.a |
| 26 are built and installed under $SYSROOT/usr/lib/. Note that by | 26 are built and installed under $SYSROOT/usr/lib/. Note that by |
| 27 default -lmetrics will link against libmetrics.so, which is | 27 default -lmetrics will link against libmetrics.so, which is |
| 28 preferred. | 28 preferred. |
| 29 | 29 |
| 30 - To access the metrics library API in the module, include the | 30 - To access the metrics library API in the module, include the |
| 31 <metrics_library.h> header file. The file is installed in | 31 <metrics_library.h> header file. The file is installed in |
| 32 $SYSROOT/usr/include/ when the metrics library is built and | 32 $SYSROOT/usr/include/ when the metrics library is built and |
| 33 installed. | 33 installed. |
| 34 | 34 |
| 35 - Currently, the API includes two static methods: | 35 - The API includes two methods: |
| 36 |
| 37 bool MetricsLibrary::SendToUMA(const std::string& name, int sample, |
| 38 int min, int max, int nbuckets) |
| 39 sends a sample for a regular (exponential) histogram. |
| 40 |
| 41 bool MetricsLibrary::SendEnumToUMA(const std::string& name, int sample, |
| 42 int max) |
| 43 sends a sample for an enumeration (linear) histogram. |
| 44 |
| 45 Currently, the API also includes two deprecated static methods: |
| 36 | 46 |
| 37 bool MetricsLibrary::SendToChrome(const std::string& name, int sample, | 47 bool MetricsLibrary::SendToChrome(const std::string& name, int sample, |
| 38 int min, int max, int nbuckets) | 48 int min, int max, int nbuckets) |
| 39 sends a sample for a regular (exponential) histogram. | |
| 40 | |
| 41 bool MetricsLibrary::SendEnumToChrome(const std::string& name, int sample, | 49 bool MetricsLibrary::SendEnumToChrome(const std::string& name, int sample, |
| 42 int max) | 50 int max) |
| 43 sends a sample for an enumeration (linear) histogram. | |
| 44 | 51 |
| 45 See API documentation in metrics_library.h under | 52 See the API documentation in metrics_library.h under |
| 46 src/platform/metrics/. | 53 src/platform/metrics/. |
| 47 | 54 |
| 48 TODO: It might be better to convert the API to a dynamic object. | |
| 49 | |
| 50 - On the target platform, shortly after the sample is sent it should | 55 - On the target platform, shortly after the sample is sent it should |
| 51 be visible in Chrome through "about:histograms". | 56 be visible in Chrome through "about:histograms". |
| 52 | 57 |
| 53 | 58 |
| 54 ================================================================================ | 59 ================================================================================ |
| 55 Histogram Naming Convention | 60 Histogram Naming Convention |
| 56 ================================================================================ | 61 ================================================================================ |
| 57 | 62 |
| 58 Use TrackerArea.MetricName. For example: | 63 Use TrackerArea.MetricName. For example: |
| 59 | 64 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 screen saver states to determine if the user is actively using the | 111 screen saver states to determine if the user is actively using the |
| 107 device or not and generates the corresponding data. The metrics daemon | 112 device or not and generates the corresponding data. The metrics daemon |
| 108 uses libmetrics to send the data to Chrome. | 113 uses libmetrics to send the data to Chrome. |
| 109 | 114 |
| 110 The recommended way to generate metrics data from a module is to link | 115 The recommended way to generate metrics data from a module is to link |
| 111 and use libmetrics directly. However, the module could instead send | 116 and use libmetrics directly. However, the module could instead send |
| 112 signals to or communicate in some alternative way with the metrics | 117 signals to or communicate in some alternative way with the metrics |
| 113 daemon. Then the metrics daemon needs to monitor for the relevant | 118 daemon. Then the metrics daemon needs to monitor for the relevant |
| 114 events and take appropriate action -- for example, aggregate data and | 119 events and take appropriate action -- for example, aggregate data and |
| 115 send the histogram samples. | 120 send the histogram samples. |
| OLD | NEW |