24 lines
1.0 KiB
Plaintext
24 lines
1.0 KiB
Plaintext
|
|
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 :).
|