Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4534)

Unified Diff: chrome/browser/metrics/metrics_service.h

Issue 2735005: Merge 49197 - Submitting CL http://codereview.chromium.org/2324001 on behalf ... (Closed) Base URL: svn://svn.chromium.org/chrome/branches/418/src/
Patch Set: Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/metrics/metrics_log_unittest.cc ('k') | chrome/browser/metrics/metrics_service.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « chrome/browser/metrics/metrics_log_unittest.cc ('k') | chrome/browser/metrics/metrics_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698