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

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

Issue 6905044: Refactor preference syncing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix syncing of platform specific prefs Created 9 years, 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 //------------------------------------------------------------------------------ 5 //------------------------------------------------------------------------------
6 // Description of the life cycle of a instance of MetricsService. 6 // Description of the life cycle of a instance of MetricsService.
7 // 7 //
8 // OVERVIEW 8 // OVERVIEW
9 // 9 //
10 // A MetricsService instance is typically created at application startup. It 10 // A MetricsService instance is typically created at application startup. It
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 hardware_class, plugins)); 348 hardware_class, plugins));
349 } 349 }
350 350
351 private: 351 private:
352 MessageLoop* callback_loop_; 352 MessageLoop* callback_loop_;
353 }; 353 };
354 354
355 // static 355 // static
356 void MetricsService::RegisterPrefs(PrefService* local_state) { 356 void MetricsService::RegisterPrefs(PrefService* local_state) {
357 DCHECK(IsSingleThreaded()); 357 DCHECK(IsSingleThreaded());
358 local_state->RegisterStringPref(prefs::kMetricsClientID, ""); 358 local_state->RegisterStringPref(prefs::kMetricsClientID,
359 local_state->RegisterInt64Pref(prefs::kMetricsClientIDTimestamp, 0); 359 "",
360 local_state->RegisterInt64Pref(prefs::kStabilityLaunchTimeSec, 0); 360 false /* don't sync pref */);
361 local_state->RegisterInt64Pref(prefs::kStabilityLastTimestampSec, 0); 361 local_state->RegisterInt64Pref(prefs::kMetricsClientIDTimestamp,
362 local_state->RegisterStringPref(prefs::kStabilityStatsVersion, ""); 362 0,
363 local_state->RegisterInt64Pref(prefs::kStabilityStatsBuildTime, 0); 363 false /* don't sync pref */);
364 local_state->RegisterBooleanPref(prefs::kStabilityExitedCleanly, true); 364 local_state->RegisterInt64Pref(prefs::kStabilityLaunchTimeSec,
365 local_state->RegisterBooleanPref(prefs::kStabilitySessionEndCompleted, true); 365 0,
366 local_state->RegisterIntegerPref(prefs::kMetricsSessionID, -1); 366 false /* don't sync pref */);
367 local_state->RegisterIntegerPref(prefs::kStabilityLaunchCount, 0); 367 local_state->RegisterInt64Pref(prefs::kStabilityLastTimestampSec,
368 local_state->RegisterIntegerPref(prefs::kStabilityCrashCount, 0); 368 0,
369 false /* don't sync pref */);
370 local_state->RegisterStringPref(prefs::kStabilityStatsVersion,
371 "",
372 false /* don't sync pref */);
373 local_state->RegisterInt64Pref(prefs::kStabilityStatsBuildTime,
374 0,
375 false /* don't sync pref */);
376 local_state->RegisterBooleanPref(prefs::kStabilityExitedCleanly,
377 true,
378 false /* don't sync pref */);
379 local_state->RegisterBooleanPref(prefs::kStabilitySessionEndCompleted,
380 true,
381 false /* don't sync pref */);
382 local_state->RegisterIntegerPref(prefs::kMetricsSessionID,
383 -1,
384 false /* don't sync pref */);
385 local_state->RegisterIntegerPref(prefs::kStabilityLaunchCount,
386 0,
387 false /* don't sync pref */);
388 local_state->RegisterIntegerPref(prefs::kStabilityCrashCount,
389 0,
390 false /* don't sync pref */);
369 local_state->RegisterIntegerPref(prefs::kStabilityIncompleteSessionEndCount, 391 local_state->RegisterIntegerPref(prefs::kStabilityIncompleteSessionEndCount,
370 0); 392 0,
371 local_state->RegisterIntegerPref(prefs::kStabilityPageLoadCount, 0); 393 false /* don't sync pref */);
372 local_state->RegisterIntegerPref(prefs::kStabilityRendererCrashCount, 0); 394 local_state->RegisterIntegerPref(prefs::kStabilityPageLoadCount,
373 local_state->RegisterIntegerPref(prefs::kStabilityExtensionRendererCrashCount, 395 0,
374 0); 396 false /* don't sync pref */);
375 local_state->RegisterIntegerPref(prefs::kStabilityRendererHangCount, 0); 397 local_state->RegisterIntegerPref(prefs::kStabilityRendererCrashCount,
376 local_state->RegisterIntegerPref(prefs::kStabilityChildProcessCrashCount, 0); 398 0,
399 false /* don't sync pref */);
400 local_state->RegisterIntegerPref(
401 prefs::kStabilityExtensionRendererCrashCount,
402 0,
403 false /* don't sync pref */);
404 local_state->RegisterIntegerPref(prefs::kStabilityRendererHangCount,
405 0,
406 false /* don't sync pref */);
407 local_state->RegisterIntegerPref(prefs::kStabilityChildProcessCrashCount,
408 0,
409 false /* don't sync pref */);
377 local_state->RegisterIntegerPref(prefs::kStabilityBreakpadRegistrationFail, 410 local_state->RegisterIntegerPref(prefs::kStabilityBreakpadRegistrationFail,
378 0); 411 0,
379 local_state->RegisterIntegerPref(prefs::kStabilityBreakpadRegistrationSuccess, 412 false /* don't sync pref */);
380 0); 413 local_state->RegisterIntegerPref(
381 local_state->RegisterIntegerPref(prefs::kStabilityDebuggerPresent, 0); 414 prefs::kStabilityBreakpadRegistrationSuccess,
382 local_state->RegisterIntegerPref(prefs::kStabilityDebuggerNotPresent, 0); 415 0,
416 false /* don't sync pref */);
417 local_state->RegisterIntegerPref(prefs::kStabilityDebuggerPresent,
418 0,
419 false /* don't sync pref */);
420 local_state->RegisterIntegerPref(prefs::kStabilityDebuggerNotPresent,
421 0,
422 false /* don't sync pref */);
383 #if defined(OS_CHROMEOS) 423 #if defined(OS_CHROMEOS)
384 local_state->RegisterIntegerPref(prefs::kStabilityOtherUserCrashCount, 0); 424 local_state->RegisterIntegerPref(prefs::kStabilityOtherUserCrashCount,
385 local_state->RegisterIntegerPref(prefs::kStabilityKernelCrashCount, 0); 425 0,
426 false /* don't sync pref */);
427 local_state->RegisterIntegerPref(prefs::kStabilityKernelCrashCount,
428 0,
429 false /* don't sync pref */);
386 local_state->RegisterIntegerPref(prefs::kStabilitySystemUncleanShutdownCount, 430 local_state->RegisterIntegerPref(prefs::kStabilitySystemUncleanShutdownCount,
387 0); 431 0,
432 false /* don't sync pref */);
388 #endif // OS_CHROMEOS 433 #endif // OS_CHROMEOS
389 434
390 local_state->RegisterDictionaryPref(prefs::kProfileMetrics); 435 local_state->RegisterDictionaryPref(prefs::kProfileMetrics,
391 local_state->RegisterIntegerPref(prefs::kNumBookmarksOnBookmarkBar, 0); 436 false /* don't sync pref */);
392 local_state->RegisterIntegerPref(prefs::kNumFoldersOnBookmarkBar, 0); 437 local_state->RegisterIntegerPref(prefs::kNumBookmarksOnBookmarkBar,
438 0,
439 false /* don't sync pref */);
440 local_state->RegisterIntegerPref(prefs::kNumFoldersOnBookmarkBar,
441 0,
442 false /* don't sync pref */);
393 local_state->RegisterIntegerPref(prefs::kNumBookmarksInOtherBookmarkFolder, 443 local_state->RegisterIntegerPref(prefs::kNumBookmarksInOtherBookmarkFolder,
394 0); 444 0,
395 local_state->RegisterIntegerPref(prefs::kNumFoldersInOtherBookmarkFolder, 0); 445 false /* don't sync pref */);
396 local_state->RegisterIntegerPref(prefs::kNumKeywords, 0); 446 local_state->RegisterIntegerPref(prefs::kNumFoldersInOtherBookmarkFolder,
397 local_state->RegisterListPref(prefs::kMetricsInitialLogs); 447 0,
398 local_state->RegisterListPref(prefs::kMetricsOngoingLogs); 448 false /* don't sync pref */);
449 local_state->RegisterIntegerPref(prefs::kNumKeywords,
450 0,
451 false /* don't sync pref */);
452 local_state->RegisterListPref(prefs::kMetricsInitialLogs,
453 false /* don't sync pref */);
454 local_state->RegisterListPref(prefs::kMetricsOngoingLogs,
455 false /* don't sync pref */);
399 456
400 local_state->RegisterInt64Pref(prefs::kUninstallMetricsPageLoadCount, 0); 457 local_state->RegisterInt64Pref(prefs::kUninstallMetricsPageLoadCount,
401 local_state->RegisterInt64Pref(prefs::kUninstallLaunchCount, 0); 458 0,
402 local_state->RegisterInt64Pref(prefs::kUninstallMetricsInstallDate, 0); 459 false /* don't sync pref */);
403 local_state->RegisterInt64Pref(prefs::kUninstallMetricsUptimeSec, 0); 460 local_state->RegisterInt64Pref(prefs::kUninstallLaunchCount,
404 local_state->RegisterInt64Pref(prefs::kUninstallLastLaunchTimeSec, 0); 461 0,
405 local_state->RegisterInt64Pref(prefs::kUninstallLastObservedRunTimeSec, 0); 462 false /* don't sync pref */);
463 local_state->RegisterInt64Pref(prefs::kUninstallMetricsInstallDate,
464 0,
465 false /* don't sync pref */);
466 local_state->RegisterInt64Pref(prefs::kUninstallMetricsUptimeSec,
467 0,
468 false /* don't sync pref */);
469 local_state->RegisterInt64Pref(prefs::kUninstallLastLaunchTimeSec,
470 0,
471 false /* don't sync pref */);
472 local_state->RegisterInt64Pref(prefs::kUninstallLastObservedRunTimeSec,
473 0,
474 false /* don't sync pref */);
406 } 475 }
407 476
408 // static 477 // static
409 void MetricsService::DiscardOldStabilityStats(PrefService* local_state) { 478 void MetricsService::DiscardOldStabilityStats(PrefService* local_state) {
410 local_state->SetBoolean(prefs::kStabilityExitedCleanly, true); 479 local_state->SetBoolean(prefs::kStabilityExitedCleanly, true);
411 local_state->SetBoolean(prefs::kStabilitySessionEndCompleted, true); 480 local_state->SetBoolean(prefs::kStabilitySessionEndCompleted, true);
412 481
413 local_state->SetInteger(prefs::kStabilityIncompleteSessionEndCount, 0); 482 local_state->SetInteger(prefs::kStabilityIncompleteSessionEndCount, 0);
414 local_state->SetInteger(prefs::kStabilityBreakpadRegistrationSuccess, 0); 483 local_state->SetInteger(prefs::kStabilityBreakpadRegistrationSuccess, 0);
415 local_state->SetInteger(prefs::kStabilityBreakpadRegistrationFail, 0); 484 local_state->SetInteger(prefs::kStabilityBreakpadRegistrationFail, 0);
(...skipping 1269 matching lines...) Expand 10 before | Expand all | Expand 10 after
1685 thread_id = base::PlatformThread::CurrentId(); 1754 thread_id = base::PlatformThread::CurrentId();
1686 return base::PlatformThread::CurrentId() == thread_id; 1755 return base::PlatformThread::CurrentId() == thread_id;
1687 } 1756 }
1688 1757
1689 #if defined(OS_CHROMEOS) 1758 #if defined(OS_CHROMEOS)
1690 void MetricsService::StartExternalMetrics() { 1759 void MetricsService::StartExternalMetrics() {
1691 external_metrics_ = new chromeos::ExternalMetrics; 1760 external_metrics_ = new chromeos::ExternalMetrics;
1692 external_metrics_->Start(); 1761 external_metrics_->Start();
1693 } 1762 }
1694 #endif 1763 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698