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

Unified Diff: chromecast/browser/metrics/cast_stability_metrics_provider.cc

Issue 701633002: Chromecast: adds handler to log metrics from external processes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: style nit Created 6 years, 1 month 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: chromecast/browser/metrics/cast_stability_metrics_provider.cc
diff --git a/chromecast/browser/metrics/cast_stability_metrics_provider.cc b/chromecast/browser/metrics/cast_stability_metrics_provider.cc
index a7258bfc730838fd0c2765a6736105fe818c619c..b7ec50963278afd8b924e1ef30f152a40ce398f7 100644
--- a/chromecast/browser/metrics/cast_stability_metrics_provider.cc
+++ b/chromecast/browser/metrics/cast_stability_metrics_provider.cc
@@ -14,6 +14,7 @@
#include "chromecast/browser/metrics/cast_metrics_service_client.h"
#include "chromecast/common/chromecast_config.h"
#include "chromecast/common/pref_names.h"
+#include "components/metrics/metrics_service.h"
#include "components/metrics/proto/system_profile.pb.h"
#include "content/public/browser/child_process_data.h"
#include "content/public/browser/navigation_controller.h"
@@ -49,7 +50,9 @@ void CastStabilityMetricsProvider::RegisterPrefs(PrefRegistrySimple* registry) {
registry->RegisterIntegerPref(prefs::kStabilityChildProcessCrashCount, 0);
}
-CastStabilityMetricsProvider::CastStabilityMetricsProvider() {
+CastStabilityMetricsProvider::CastStabilityMetricsProvider(
+ ::metrics::MetricsService* metrics_service)
+ : metrics_service_(metrics_service) {
BrowserChildProcessObserver::Add(this);
}
@@ -95,6 +98,22 @@ void CastStabilityMetricsProvider::ProvideStabilityMetrics(
}
}
+void CastStabilityMetricsProvider::LogExternalCrash(
+ const std::string& crash_type) {
+ if (crash_type == "user")
+ IncrementPrefValue(prefs::kStabilityOtherUserCrashCount);
Will Harris 2016/07/07 20:26:49 I don't think these prefs are being registered any
+ else if (crash_type == "kernel")
+ IncrementPrefValue(prefs::kStabilityKernelCrashCount);
+ else if (crash_type == "uncleanshutdown")
+ IncrementPrefValue(prefs::kStabilitySystemUncleanShutdownCount);
+ else
+ NOTREACHED() << "Unexpected crash type " << crash_type;
+
+ // Wake up metrics logs sending if necessary now that new
+ // log data is available.
+ metrics_service_->OnApplicationNotIdle();
+}
+
void CastStabilityMetricsProvider::Observe(
int type,
const content::NotificationSource& source,
« no previous file with comments | « chromecast/browser/metrics/cast_stability_metrics_provider.h ('k') | chromecast/browser/metrics/external_metrics.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698