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