| 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 :). |