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

Unified Diff: chrome/browser/metrics/metrics_service.cc

Issue 292433015: Refactor MetricsLogChromeOS to ChromeOSMetricsProvider. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 7 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: chrome/browser/metrics/metrics_service.cc
diff --git a/chrome/browser/metrics/metrics_service.cc b/chrome/browser/metrics/metrics_service.cc
index 23972d8dae04067bde7242b4eda594106d17250d..19bb0b9f0a3e6d905ca5e00248d99a55b0ef4974 100644
--- a/chrome/browser/metrics/metrics_service.cc
+++ b/chrome/browser/metrics/metrics_service.cc
@@ -227,6 +227,7 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/settings/cros_settings.h"
Alexei Svitkine (slow) 2014/05/23 08:41:47 Do you mind doing the hardware class fetching and
Alexei Svitkine (slow) 2014/05/23 08:42:31 (Similar to what GoogleUpdateMetricsProviderWin do
blundell 2014/05/23 12:09:22 I'd prefer to leave this as a followup (and create
Alexei Svitkine (slow) 2014/05/23 14:16:20 OK
+#include "chrome/browser/metrics/chromeos_metrics_provider.h"
#include "chromeos/system/statistics_provider.h"
#endif
@@ -490,6 +491,12 @@ MetricsService::MetricsService(metrics::MetricsStateManager* state_manager,
RegisterMetricsProvider(scoped_ptr<metrics::MetricsProvider>(
google_update_metrics_provider_));
#endif
+
+#if defined(OS_CHROMEOS)
+ RegisterMetricsProvider(
+ scoped_ptr<metrics::MetricsProvider>(new ChromeOSMetricsProvider));
+#endif
+
BrowserChildProcessObserver::Add(this);
}
@@ -1032,6 +1039,8 @@ void MetricsService::NotifyOnDidCreateMetricsLog() {
DCHECK(thread_checker_.CalledOnValidThread());
FOR_EACH_OBSERVER(
MetricsServiceObserver, observers_, OnDidCreateMetricsLog());
+ for (size_t i = 0; i < metrics_providers_.size(); ++i)
+ metrics_providers_[i]->OnDidCreateMetricsLog();
}
//------------------------------------------------------------------------------
@@ -1727,22 +1736,6 @@ void MetricsService::LogCleanShutdown() {
MetricsService::SHUTDOWN_COMPLETE);
}
-#if defined(OS_CHROMEOS)
-void MetricsService::LogChromeOSCrash(const std::string &crash_type) {
- if (crash_type == "user")
- IncrementPrefValue(prefs::kStabilityOtherUserCrashCount);
- else if (crash_type == "kernel")
- IncrementPrefValue(prefs::kStabilityKernelCrashCount);
- else if (crash_type == "uncleanshutdown")
- IncrementPrefValue(prefs::kStabilitySystemUncleanShutdownCount);
- else
- NOTREACHED() << "Unexpected Chrome OS crash type " << crash_type;
- // Wake up metrics logs sending if necessary now that new
- // log data is available.
- HandleIdleSinceLastTransmission(false);
-}
-#endif // OS_CHROMEOS
-
void MetricsService::LogPluginLoadingError(const base::FilePath& plugin_path) {
content::WebPluginInfo plugin;
bool success =

Powered by Google App Engine
This is Rietveld 408576698