| This component contains the base classes for the metrics service and only |
| depends on //base. It is used by ChromeOS as the base for a standalone service |
| that will upload the metrics when ChromeOS is not installed (headless install). |
| |
| This is the first step towards the componentization of metrics that will happen |
| later this spring. |
| |
| A proposed structure for the metrics component is: |
| //components/metrics/base, |
| Depends on base only. Contains the protobuf definitions. |
| //components/metrics/core |
| Depends on everything iOS depends on |
| //components/metrics/content |
| Depends on content |
| |
| Ideally, the component would abstract the network stack and have a clean |
| separation between the metrics upload logic (protbuf generation, retry, etc...), |
| the chrome part (gathering histogram from all the threads, populating the |
| log with hardware characteristics, plugin state, etc.). |
| |
| It is a plus if the code currently in the component (i.e., the code that can |
| depend only on //base) stays in a single directory as it would be easier |
| for ChromeOS to pull it :). |