Chromium Code Reviews| 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, |