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

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

Issue 580093004: Reset some UMA stability stats on a version change. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "chrome/browser/metrics/chrome_stability_metrics_provider.h" 5 #include "chrome/browser/metrics/chrome_stability_metrics_provider.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 pref->SetInteger(prefs::kStabilityExtensionRendererCrashCount, 0); 119 pref->SetInteger(prefs::kStabilityExtensionRendererCrashCount, 0);
120 } 120 }
121 121
122 count = pref->GetInteger(prefs::kStabilityRendererHangCount); 122 count = pref->GetInteger(prefs::kStabilityRendererHangCount);
123 if (count) { 123 if (count) {
124 stability_proto->set_renderer_hang_count(count); 124 stability_proto->set_renderer_hang_count(count);
125 pref->SetInteger(prefs::kStabilityRendererHangCount, 0); 125 pref->SetInteger(prefs::kStabilityRendererHangCount, 0);
126 } 126 }
127 } 127 }
128 128
129 void ChromeStabilityMetricsProvider::ClearSavedStabilityMetrics() {
130 PrefService* local_state = g_browser_process->local_state();
131
132 // Clear all the prefs used in this class in UMA reports (which doesn't
133 // include |kUninstallMetricsPageLoadCount| as it's not sent up by UMA).
134 local_state->SetInteger(prefs::kStabilityChildProcessCrashCount, 0);
135 local_state->SetInteger(prefs::kStabilityExtensionRendererCrashCount, 0);
136 local_state->SetInteger(prefs::kStabilityPageLoadCount, 0);
137 local_state->SetInteger(prefs::kStabilityRendererCrashCount, 0);
138 local_state->SetInteger(prefs::kStabilityRendererHangCount, 0);
139 }
140
129 // static 141 // static
130 void ChromeStabilityMetricsProvider::RegisterPrefs( 142 void ChromeStabilityMetricsProvider::RegisterPrefs(
131 PrefRegistrySimple* registry) { 143 PrefRegistrySimple* registry) {
144 registry->RegisterIntegerPref(prefs::kStabilityChildProcessCrashCount, 0);
145 registry->RegisterIntegerPref(prefs::kStabilityExtensionRendererCrashCount,
146 0);
132 registry->RegisterIntegerPref(prefs::kStabilityPageLoadCount, 0); 147 registry->RegisterIntegerPref(prefs::kStabilityPageLoadCount, 0);
133 registry->RegisterIntegerPref(prefs::kStabilityRendererCrashCount, 0); 148 registry->RegisterIntegerPref(prefs::kStabilityRendererCrashCount, 0);
134 registry->RegisterIntegerPref(prefs::kStabilityExtensionRendererCrashCount,
135 0);
136 registry->RegisterIntegerPref(prefs::kStabilityRendererHangCount, 0); 149 registry->RegisterIntegerPref(prefs::kStabilityRendererHangCount, 0);
137 registry->RegisterIntegerPref(prefs::kStabilityChildProcessCrashCount, 0); 150
138 registry->RegisterInt64Pref(prefs::kUninstallMetricsPageLoadCount, 0); 151 registry->RegisterInt64Pref(prefs::kUninstallMetricsPageLoadCount, 0);
139 } 152 }
140 153
141 void ChromeStabilityMetricsProvider::Observe( 154 void ChromeStabilityMetricsProvider::Observe(
142 int type, 155 int type,
143 const content::NotificationSource& source, 156 const content::NotificationSource& source,
144 const content::NotificationDetails& details) { 157 const content::NotificationDetails& details) {
145 switch (type) { 158 switch (type) {
146 case content::NOTIFICATION_LOAD_START: { 159 case content::NOTIFICATION_LOAD_START: {
147 content::NavigationController* controller = 160 content::NavigationController* controller =
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 was_extension_process ? 2 : 1); 239 was_extension_process ? 2 : 1);
227 } else if (status == base::TERMINATION_STATUS_STILL_RUNNING) { 240 } else if (status == base::TERMINATION_STATUS_STILL_RUNNING) {
228 UMA_HISTOGRAM_PERCENTAGE("BrowserRenderProcessHost.DisconnectedAlive", 241 UMA_HISTOGRAM_PERCENTAGE("BrowserRenderProcessHost.DisconnectedAlive",
229 was_extension_process ? 2 : 1); 242 was_extension_process ? 2 : 1);
230 } 243 }
231 } 244 }
232 245
233 void ChromeStabilityMetricsProvider::LogRendererHang() { 246 void ChromeStabilityMetricsProvider::LogRendererHang() {
234 IncrementPrefValue(prefs::kStabilityRendererHangCount); 247 IncrementPrefValue(prefs::kStabilityRendererHangCount);
235 } 248 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698