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

Unified Diff: components/browser_watcher/watcher_metrics_provider_win.cc

Issue 868163002: Only report exit funnels for canary and dev channels. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Alexei's comments. Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: components/browser_watcher/watcher_metrics_provider_win.cc
diff --git a/components/browser_watcher/watcher_metrics_provider_win.cc b/components/browser_watcher/watcher_metrics_provider_win.cc
index 0f94738ac50b8c746926ba276d32835eb4f57af5..0848046ef79cc7559a5f950824966eb59447bd07 100644
--- a/components/browser_watcher/watcher_metrics_provider_win.cc
+++ b/components/browser_watcher/watcher_metrics_provider_win.cc
@@ -145,10 +145,13 @@ void ReadSingleExitFunnel(
events_out->swap(events);
}
-void RecordSingleExitFunnel(base::win::RegKey* parent_key,
- const base::char16* name) {
+void MaybeRecordSingleExitFunnel(base::win::RegKey* parent_key,
+ const base::char16* name,
+ bool report) {
std::vector<std::pair<base::string16, int64>> events;
ReadSingleExitFunnel(parent_key, name, &events);
+ if (!report)
+ return;
// Find the earliest event time.
int64 min_time = std::numeric_limits<int64>::max();
@@ -173,7 +176,7 @@ void RecordSingleExitFunnel(base::win::RegKey* parent_key,
}
}
-void RecordExitFunnels(const base::string16& registry_path) {
+void MaybeRecordExitFunnels(const base::string16& registry_path, bool report) {
base::win::RegistryKeyIterator it(HKEY_CURRENT_USER, registry_path.c_str());
if (!it.Valid())
return;
@@ -196,7 +199,7 @@ void RecordExitFunnels(const base::string16& registry_path) {
for (; it.Valid(); ++it) {
// Defer reporting on still-live processes.
if (IsDeadProcess(it.Name())) {
- RecordSingleExitFunnel(&key, it.Name());
+ MaybeRecordSingleExitFunnel(&key, it.Name(), report);
to_delete.push_back(it.Name());
}
}
@@ -216,7 +219,9 @@ const char WatcherMetricsProviderWin::kExitFunnelHistogramPrefix[] =
"Stability.ExitFunnel.";
WatcherMetricsProviderWin::WatcherMetricsProviderWin(
- const base::char16* registry_path) : registry_path_(registry_path) {
+ const base::char16* registry_path, bool report_exit_funnels) :
+ registry_path_(registry_path),
+ report_exit_funnels_(report_exit_funnels) {
}
WatcherMetricsProviderWin::~WatcherMetricsProviderWin() {
@@ -231,7 +236,7 @@ void WatcherMetricsProviderWin::ProvideStabilityMetrics(
// necessary to implement some form of global locking, which is not worth it
// here.
RecordExitCodes(registry_path_);
- RecordExitFunnels(registry_path_);
+ MaybeRecordExitFunnels(registry_path_, report_exit_funnels_);
}
} // namespace browser_watcher

Powered by Google App Engine
This is Rietveld 408576698