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