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

Side by Side Diff: chrome/browser/metrics/metrics_service.h

Issue 301633006: Move ChromeOS hardware class init out of MetricsService. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Response to review Created 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file defines a service that collects information about the user 5 // This file defines a service that collects information about the user
6 // experience in order to help improve future versions of the app. 6 // experience in order to help improve future versions of the app.
7 7
8 #ifndef CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ 8 #ifndef CHROME_BROWSER_METRICS_METRICS_SERVICE_H_
9 #define CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ 9 #define CHROME_BROWSER_METRICS_METRICS_SERVICE_H_
10 10
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 SENDING_CURRENT_LOGS, // Sending ongoing logs as they accrue. 251 SENDING_CURRENT_LOGS, // Sending ongoing logs as they accrue.
252 }; 252 };
253 253
254 enum ShutdownCleanliness { 254 enum ShutdownCleanliness {
255 CLEANLY_SHUTDOWN = 0xdeadbeef, 255 CLEANLY_SHUTDOWN = 0xdeadbeef,
256 NEED_TO_SHUTDOWN = ~CLEANLY_SHUTDOWN 256 NEED_TO_SHUTDOWN = ~CLEANLY_SHUTDOWN
257 }; 257 };
258 258
259 typedef std::vector<SyntheticTrialGroup> SyntheticTrialGroups; 259 typedef std::vector<SyntheticTrialGroup> SyntheticTrialGroups;
260 260
261 // First part of the init task. Called on the FILE thread to load hardware 261 // Calls into the client to start metrics gathering.
262 // class information. 262 void StartGatheringMetrics();
263 static void InitTaskGetHardwareClass(base::WeakPtr<MetricsService> self,
264 base::MessageLoopProxy* target_loop);
265 263
266 // Callback from InitTaskGetHardwareClass() that continues the init task by 264 // Callback that continues the init task by loading plugin information.
267 // loading plugin information. 265 void OnInitTaskGotHardwareClass();
268 void OnInitTaskGotHardwareClass(const std::string& hardware_class);
269 266
270 // Called after the Plugin init task has been completed that continues the 267 // Called after the Plugin init task has been completed that continues the
271 // init task by launching a task to gather Google Update statistics. 268 // init task by launching a task to gather Google Update statistics.
272 void OnInitTaskGotPluginInfo(); 269 void OnInitTaskGotPluginInfo();
273 270
274 // Called after GoogleUpdate init task has been completed that continues the 271 // Called after GoogleUpdate init task has been completed that continues the
275 // init task by loading profiler data. 272 // init task by loading profiler data.
276 void OnInitTaskGotGoogleUpdateData(); 273 void OnInitTaskGotGoogleUpdateData();
277 274
278 void OnUserAction(const std::string& action); 275 void OnUserAction(const std::string& action);
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 // be cut, and logs are neither persisted nor uploaded. 433 // be cut, and logs are neither persisted nor uploaded.
437 bool test_mode_active_; 434 bool test_mode_active_;
438 435
439 // The progression of states made by the browser are recorded in the following 436 // The progression of states made by the browser are recorded in the following
440 // state. 437 // state.
441 State state_; 438 State state_;
442 439
443 // Whether the initial stability log has been recorded during startup. 440 // Whether the initial stability log has been recorded during startup.
444 bool has_initial_stability_log_; 441 bool has_initial_stability_log_;
445 442
446 // Chrome OS hardware class (e.g., hardware qualification ID). This
447 // class identifies the configured system components such as CPU,
448 // WiFi adapter, etc. For non Chrome OS hosts, this will be an
449 // empty string.
450 std::string hardware_class_;
451
452 #if defined(ENABLE_PLUGINS) 443 #if defined(ENABLE_PLUGINS)
453 PluginMetricsProvider* plugin_metrics_provider_; 444 PluginMetricsProvider* plugin_metrics_provider_;
454 #endif 445 #endif
455 446
456 #if defined(OS_WIN) 447 #if defined(OS_WIN)
457 GoogleUpdateMetricsProviderWin* google_update_metrics_provider_; 448 GoogleUpdateMetricsProviderWin* google_update_metrics_provider_;
458 #endif 449 #endif
459 450
460 // The initial metrics log, used to record startup metrics (histograms and 451 // The initial metrics log, used to record startup metrics (histograms and
461 // profiler data). Note that if a crash occurred in the previous session, an 452 // profiler data). Note that if a crash occurred in the previous session, an
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest, IsPluginProcess); 511 FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest, IsPluginProcess);
521 FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest, MetricsServiceObserver); 512 FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest, MetricsServiceObserver);
522 FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest, 513 FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest,
523 PermutedEntropyCacheClearedWhenLowEntropyReset); 514 PermutedEntropyCacheClearedWhenLowEntropyReset);
524 FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest, RegisterSyntheticTrial); 515 FRIEND_TEST_ALL_PREFIXES(MetricsServiceTest, RegisterSyntheticTrial);
525 516
526 DISALLOW_COPY_AND_ASSIGN(MetricsService); 517 DISALLOW_COPY_AND_ASSIGN(MetricsService);
527 }; 518 };
528 519
529 #endif // CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ 520 #endif // CHROME_BROWSER_METRICS_METRICS_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698