| Index: chrome/browser/metrics/metrics_service.h
|
| ===================================================================
|
| --- chrome/browser/metrics/metrics_service.h (revision 49204)
|
| +++ chrome/browser/metrics/metrics_service.h (working copy)
|
| @@ -116,14 +116,19 @@
|
| // This count is eventually send via UMA logs.
|
| void RecordBreakpadHasDebugger(bool has_debugger);
|
|
|
| - // Callback to let us knew that the plugin list is warmed up.
|
| - void OnGetPluginListTaskComplete(const std::vector<WebPluginInfo>& plugins);
|
| -
|
| // Save any unsent logs into a persistent store in a pref. We always do this
|
| // at shutdown, but we can do it as we reduce the list as well.
|
| void StoreUnsentLogs();
|
|
|
| #if defined(OS_CHROMEOS)
|
| + // Returns the hardware class of the Chrome OS device (e.g.,
|
| + // hardware qualification ID), or "unknown" if the hardware class is
|
| + // not available. The hardware class identifies the configured
|
| + // system components such us CPU, WiFi adapter, etc. Note that this
|
| + // routine invokes an external utility to determine the hardware
|
| + // class.
|
| + static std::string GetHardwareClass();
|
| +
|
| // Start the external metrics service, which collects metrics from Chrome OS
|
| // and passes them to UMA.
|
| void StartExternalMetrics();
|
| @@ -137,8 +142,8 @@
|
| // See metrics_service.cc for description of this lifecycle.
|
| enum State {
|
| INITIALIZED, // Constructor was called.
|
| - PLUGIN_LIST_REQUESTED, // Waiting for plugin list to be loaded.
|
| - PLUGIN_LIST_ARRIVED, // Waiting for timer to send initial log.
|
| + INIT_TASK_SCHEDULED, // Waiting for deferred init tasks to complete.
|
| + INIT_TASK_DONE, // Waiting for timer to send initial log.
|
| INITIAL_LOG_READY, // Initial log generated, and waiting for reply.
|
| SEND_OLD_INITIAL_LOGS, // Sending unsent logs from previous session.
|
| SENDING_OLD_LOGS, // Sending unsent logs from previous session.
|
| @@ -148,9 +153,14 @@
|
| // Maintain a map of histogram names to the sample stats we've sent.
|
| typedef std::map<std::string, Histogram::SampleSet> LoggedSampleMap;
|
|
|
| - class GetPluginListTask;
|
| - class GetPluginListTaskComplete;
|
| + class InitTask;
|
| + class InitTaskComplete;
|
|
|
| + // Callback to let us know that the init task is done.
|
| + void OnInitTaskComplete(
|
| + const std::string& hardware_class,
|
| + const std::vector<WebPluginInfo>& plugins);
|
| +
|
| // When we start a new version of Chromium (different from our last run), we
|
| // need to discard the old crash stats so that we don't attribute crashes etc.
|
| // in the old version to the current version (via current logs).
|
| @@ -422,6 +432,12 @@
|
| // state.
|
| State state_;
|
|
|
| + // Chrome OS hardware class (e.g., hardware qualification ID). This
|
| + // class identifies the configured system components such as CPU,
|
| + // WiFi adapter, etc. For non Chrome OS hosts, this will be an
|
| + // empty string.
|
| + std::string hardware_class_;
|
| +
|
| // The list of plugins which was retrieved on the file thread.
|
| std::vector<WebPluginInfo> plugins_;
|
|
|
|
|