| 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 |