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

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

Issue 11741003: Remove PrefServiceSimple, replacing it with PrefService and PrefRegistrySimple. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix double registration in Chrome Frame test. Created 7 years, 10 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) 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 //------------------------------------------------------------------------------ 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 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 #include "chrome/browser/extensions/extension_service.h" 171 #include "chrome/browser/extensions/extension_service.h"
172 #include "chrome/browser/extensions/process_map.h" 172 #include "chrome/browser/extensions/process_map.h"
173 #include "chrome/browser/io_thread.h" 173 #include "chrome/browser/io_thread.h"
174 #include "chrome/browser/memory_details.h" 174 #include "chrome/browser/memory_details.h"
175 #include "chrome/browser/metrics/metrics_log.h" 175 #include "chrome/browser/metrics/metrics_log.h"
176 #include "chrome/browser/metrics/metrics_log_serializer.h" 176 #include "chrome/browser/metrics/metrics_log_serializer.h"
177 #include "chrome/browser/metrics/metrics_reporting_scheduler.h" 177 #include "chrome/browser/metrics/metrics_reporting_scheduler.h"
178 #include "chrome/browser/metrics/tracking_synchronizer.h" 178 #include "chrome/browser/metrics/tracking_synchronizer.h"
179 #include "chrome/browser/net/http_pipelining_compatibility_client.h" 179 #include "chrome/browser/net/http_pipelining_compatibility_client.h"
180 #include "chrome/browser/net/network_stats.h" 180 #include "chrome/browser/net/network_stats.h"
181 #include "chrome/browser/prefs/pref_registry_simple.h"
181 #include "chrome/browser/prefs/pref_service.h" 182 #include "chrome/browser/prefs/pref_service.h"
182 #include "chrome/browser/prefs/scoped_user_pref_update.h" 183 #include "chrome/browser/prefs/scoped_user_pref_update.h"
183 #include "chrome/browser/profiles/profile.h" 184 #include "chrome/browser/profiles/profile.h"
184 #include "chrome/browser/search_engines/template_url_service.h" 185 #include "chrome/browser/search_engines/template_url_service.h"
185 #include "chrome/browser/ui/browser_list.h" 186 #include "chrome/browser/ui/browser_list.h"
186 #include "chrome/browser/ui/browser_otr_state.h" 187 #include "chrome/browser/ui/browser_otr_state.h"
187 #include "chrome/common/child_process_logging.h" 188 #include "chrome/common/child_process_logging.h"
188 #include "chrome/common/chrome_notification_types.h" 189 #include "chrome/common/chrome_notification_types.h"
189 #include "chrome/common/chrome_result_codes.h" 190 #include "chrome/common/chrome_result_codes.h"
190 #include "chrome/common/chrome_switches.h" 191 #include "chrome/common/chrome_switches.h"
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 } 428 }
428 429
429 private: 430 private:
430 ~MetricsMemoryDetails() {} 431 ~MetricsMemoryDetails() {}
431 432
432 base::Closure callback_; 433 base::Closure callback_;
433 DISALLOW_COPY_AND_ASSIGN(MetricsMemoryDetails); 434 DISALLOW_COPY_AND_ASSIGN(MetricsMemoryDetails);
434 }; 435 };
435 436
436 // static 437 // static
437 void MetricsService::RegisterPrefs(PrefServiceSimple* local_state) { 438 void MetricsService::RegisterPrefs(PrefRegistrySimple* registry) {
438 DCHECK(IsSingleThreaded()); 439 DCHECK(IsSingleThreaded());
439 local_state->RegisterStringPref(prefs::kMetricsClientID, ""); 440 registry->RegisterStringPref(prefs::kMetricsClientID, "");
440 local_state->RegisterIntegerPref(prefs::kMetricsLowEntropySource, 441 registry->RegisterIntegerPref(prefs::kMetricsLowEntropySource,
441 kLowEntropySourceNotSet); 442 kLowEntropySourceNotSet);
442 local_state->RegisterInt64Pref(prefs::kMetricsClientIDTimestamp, 0); 443 registry->RegisterInt64Pref(prefs::kMetricsClientIDTimestamp, 0);
443 local_state->RegisterInt64Pref(prefs::kStabilityLaunchTimeSec, 0); 444 registry->RegisterInt64Pref(prefs::kStabilityLaunchTimeSec, 0);
444 local_state->RegisterInt64Pref(prefs::kStabilityLastTimestampSec, 0); 445 registry->RegisterInt64Pref(prefs::kStabilityLastTimestampSec, 0);
445 local_state->RegisterStringPref(prefs::kStabilityStatsVersion, ""); 446 registry->RegisterStringPref(prefs::kStabilityStatsVersion, "");
446 local_state->RegisterInt64Pref(prefs::kStabilityStatsBuildTime, 0); 447 registry->RegisterInt64Pref(prefs::kStabilityStatsBuildTime, 0);
447 local_state->RegisterBooleanPref(prefs::kStabilityExitedCleanly, true); 448 registry->RegisterBooleanPref(prefs::kStabilityExitedCleanly, true);
448 local_state->RegisterBooleanPref(prefs::kStabilitySessionEndCompleted, true); 449 registry->RegisterBooleanPref(prefs::kStabilitySessionEndCompleted, true);
449 local_state->RegisterIntegerPref(prefs::kMetricsSessionID, -1); 450 registry->RegisterIntegerPref(prefs::kMetricsSessionID, -1);
450 local_state->RegisterIntegerPref(prefs::kStabilityLaunchCount, 0); 451 registry->RegisterIntegerPref(prefs::kStabilityLaunchCount, 0);
451 local_state->RegisterIntegerPref(prefs::kStabilityCrashCount, 0); 452 registry->RegisterIntegerPref(prefs::kStabilityCrashCount, 0);
452 local_state->RegisterIntegerPref(prefs::kStabilityIncompleteSessionEndCount, 453 registry->RegisterIntegerPref(prefs::kStabilityIncompleteSessionEndCount, 0);
453 0); 454 registry->RegisterIntegerPref(prefs::kStabilityPageLoadCount, 0);
454 local_state->RegisterIntegerPref(prefs::kStabilityPageLoadCount, 0); 455 registry->RegisterIntegerPref(prefs::kStabilityRendererCrashCount, 0);
455 local_state->RegisterIntegerPref(prefs::kStabilityRendererCrashCount, 0); 456 registry->RegisterIntegerPref(prefs::kStabilityExtensionRendererCrashCount,
456 local_state->RegisterIntegerPref(prefs::kStabilityExtensionRendererCrashCount, 457 0);
457 0); 458 registry->RegisterIntegerPref(prefs::kStabilityRendererHangCount, 0);
458 local_state->RegisterIntegerPref(prefs::kStabilityRendererHangCount, 0); 459 registry->RegisterIntegerPref(prefs::kStabilityChildProcessCrashCount, 0);
459 local_state->RegisterIntegerPref(prefs::kStabilityChildProcessCrashCount, 0); 460 registry->RegisterIntegerPref(prefs::kStabilityBreakpadRegistrationFail, 0);
460 local_state->RegisterIntegerPref(prefs::kStabilityBreakpadRegistrationFail, 461 registry->RegisterIntegerPref(prefs::kStabilityBreakpadRegistrationSuccess,
461 0); 462 0);
462 local_state->RegisterIntegerPref(prefs::kStabilityBreakpadRegistrationSuccess, 463 registry->RegisterIntegerPref(prefs::kStabilityDebuggerPresent, 0);
463 0); 464 registry->RegisterIntegerPref(prefs::kStabilityDebuggerNotPresent, 0);
464 local_state->RegisterIntegerPref(prefs::kStabilityDebuggerPresent, 0);
465 local_state->RegisterIntegerPref(prefs::kStabilityDebuggerNotPresent, 0);
466 #if defined(OS_CHROMEOS) 465 #if defined(OS_CHROMEOS)
467 local_state->RegisterIntegerPref(prefs::kStabilityOtherUserCrashCount, 0); 466 registry->RegisterIntegerPref(prefs::kStabilityOtherUserCrashCount, 0);
468 local_state->RegisterIntegerPref(prefs::kStabilityKernelCrashCount, 0); 467 registry->RegisterIntegerPref(prefs::kStabilityKernelCrashCount, 0);
469 local_state->RegisterIntegerPref(prefs::kStabilitySystemUncleanShutdownCount, 468 registry->RegisterIntegerPref(prefs::kStabilitySystemUncleanShutdownCount, 0);
470 0);
471 #endif // OS_CHROMEOS 469 #endif // OS_CHROMEOS
472 470
473 local_state->RegisterDictionaryPref(prefs::kProfileMetrics); 471 registry->RegisterDictionaryPref(prefs::kProfileMetrics);
474 local_state->RegisterIntegerPref(prefs::kNumKeywords, 0); 472 registry->RegisterIntegerPref(prefs::kNumKeywords, 0);
475 local_state->RegisterListPref(prefs::kMetricsInitialLogsXml); 473 registry->RegisterListPref(prefs::kMetricsInitialLogsXml);
476 local_state->RegisterListPref(prefs::kMetricsOngoingLogsXml); 474 registry->RegisterListPref(prefs::kMetricsOngoingLogsXml);
477 local_state->RegisterListPref(prefs::kMetricsInitialLogsProto); 475 registry->RegisterListPref(prefs::kMetricsInitialLogsProto);
478 local_state->RegisterListPref(prefs::kMetricsOngoingLogsProto); 476 registry->RegisterListPref(prefs::kMetricsOngoingLogsProto);
479 477
480 local_state->RegisterInt64Pref(prefs::kUninstallMetricsPageLoadCount, 0); 478 registry->RegisterInt64Pref(prefs::kUninstallMetricsPageLoadCount, 0);
481 local_state->RegisterInt64Pref(prefs::kUninstallLaunchCount, 0); 479 registry->RegisterInt64Pref(prefs::kUninstallLaunchCount, 0);
482 local_state->RegisterInt64Pref(prefs::kUninstallMetricsInstallDate, 0); 480 registry->RegisterInt64Pref(prefs::kUninstallMetricsInstallDate, 0);
483 local_state->RegisterInt64Pref(prefs::kUninstallMetricsUptimeSec, 0); 481 registry->RegisterInt64Pref(prefs::kUninstallMetricsUptimeSec, 0);
484 local_state->RegisterInt64Pref(prefs::kUninstallLastLaunchTimeSec, 0); 482 registry->RegisterInt64Pref(prefs::kUninstallLastLaunchTimeSec, 0);
485 local_state->RegisterInt64Pref(prefs::kUninstallLastObservedRunTimeSec, 0); 483 registry->RegisterInt64Pref(prefs::kUninstallLastObservedRunTimeSec, 0);
486 } 484 }
487 485
488 // static 486 // static
489 void MetricsService::DiscardOldStabilityStats(PrefService* local_state) { 487 void MetricsService::DiscardOldStabilityStats(PrefService* local_state) {
490 local_state->SetBoolean(prefs::kStabilityExitedCleanly, true); 488 local_state->SetBoolean(prefs::kStabilityExitedCleanly, true);
491 local_state->SetBoolean(prefs::kStabilitySessionEndCompleted, true); 489 local_state->SetBoolean(prefs::kStabilitySessionEndCompleted, true);
492 490
493 local_state->SetInteger(prefs::kStabilityIncompleteSessionEndCount, 0); 491 local_state->SetInteger(prefs::kStabilityIncompleteSessionEndCount, 0);
494 local_state->SetInteger(prefs::kStabilityBreakpadRegistrationSuccess, 0); 492 local_state->SetInteger(prefs::kStabilityBreakpadRegistrationSuccess, 0);
495 local_state->SetInteger(prefs::kStabilityBreakpadRegistrationFail, 0); 493 local_state->SetInteger(prefs::kStabilityBreakpadRegistrationFail, 0);
(...skipping 1446 matching lines...) Expand 10 before | Expand all | Expand 10 after
1942 if (local_state) { 1940 if (local_state) {
1943 const PrefService::Preference* uma_pref = 1941 const PrefService::Preference* uma_pref =
1944 local_state->FindPreference(prefs::kMetricsReportingEnabled); 1942 local_state->FindPreference(prefs::kMetricsReportingEnabled);
1945 if (uma_pref) { 1943 if (uma_pref) {
1946 bool success = uma_pref->GetValue()->GetAsBoolean(&result); 1944 bool success = uma_pref->GetValue()->GetAsBoolean(&result);
1947 DCHECK(success); 1945 DCHECK(success);
1948 } 1946 }
1949 } 1947 }
1950 return result; 1948 return result;
1951 } 1949 }
OLDNEW
« no previous file with comments | « chrome/browser/metrics/metrics_service.h ('k') | chrome/browser/metrics/variations/variations_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698