| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |