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

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

Issue 2351873002: Clean up UMA 3g experiment and unify metrics enabled pref for Android (Closed)
Patch Set: remove optimization param Created 4 years, 3 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/chrome_metrics_service_client.cc
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc
index b1af4ef6ecbcb0294a9c5476fb4f538339abfe9b..46e896742dda24789373875ef8eeee5081158cb4 100644
--- a/chrome/browser/metrics/chrome_metrics_service_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
@@ -40,6 +40,7 @@
#include "chrome/common/chrome_switches.h"
#include "chrome/common/crash_keys.h"
#include "chrome/common/features.h"
+#include "chrome/common/pref_names.h"
#include "chrome/installer/util/util_constants.h"
#include "components/metrics/call_stack_profile_metrics_provider.h"
#include "components/metrics/drive_metrics_provider.h"
@@ -115,20 +116,6 @@ const int kMaxHistogramGatheringWaitDuration = 60000; // 60 seconds.
// third_party/crashpad/crashpad/handler/handler_main.cc.
const char kCrashpadHistogramAllocatorName[] = "CrashpadMetrics";
-// Checks whether it is the first time that cellular uploads logic should be
-// enabled based on whether the the preference for that logic is initialized.
-// This should happen only once as the used preference will be initialized
-// afterwards in |UmaSessionStats.java|.
-bool ShouldClearSavedMetrics() {
-#if BUILDFLAG(ANDROID_JAVA_UI)
- PrefService* local_state = g_browser_process->local_state();
- return !local_state->HasPrefPath(metrics::prefs::kMetricsReportingEnabled) &&
- metrics::IsCellularLogicEnabled();
-#else
- return false;
-#endif
-}
-
void RegisterFileMetricsPreferences(PrefRegistrySimple* registry) {
metrics::FileMetricsProvider::RegisterPrefs(
registry, ChromeMetricsServiceClient::kBrowserMetricsName);
@@ -416,17 +403,17 @@ ChromeMetricsServiceClient::GetMetricsReportingDefaultState() {
}
void ChromeMetricsServiceClient::Initialize() {
- // Clear metrics reports if it is the first time cellular upload logic should
- // apply to avoid sudden bulk uploads. It needs to be done before initializing
- // metrics service so that metrics log manager is initialized correctly.
- if (ShouldClearSavedMetrics()) {
- PrefService* local_state = g_browser_process->local_state();
- local_state->ClearPref(metrics::prefs::kMetricsInitialLogs);
- local_state->ClearPref(metrics::prefs::kMetricsOngoingLogs);
- }
+ PrefService* local_state = g_browser_process->local_state();
+
+ // Clear deprecated metrics preference for Android.
+ // TODO(gayane): Cleanup this code after M60 when the pref would be cleared
+ // from clients.
+#if BUILDFLAG(ANDROID_JAVA_UI)
+ local_state->ClearPref(prefs::kCrashReportingEnabled);
+#endif
- metrics_service_.reset(new metrics::MetricsService(
- metrics_state_manager_, this, g_browser_process->local_state()));
+ metrics_service_.reset(
+ new metrics::MetricsService(metrics_state_manager_, this, local_state));
// Gets access to persistent metrics shared by sub-processes.
metrics_service_->RegisterMetricsProvider(
@@ -452,8 +439,7 @@ void ChromeMetricsServiceClient::Initialize() {
base::Bind(&chrome::IsIncognitoSessionActive))));
metrics_service_->RegisterMetricsProvider(
std::unique_ptr<metrics::MetricsProvider>(
- new ChromeStabilityMetricsProvider(
- g_browser_process->local_state())));
+ new ChromeStabilityMetricsProvider(local_state)));
metrics_service_->RegisterMetricsProvider(
std::unique_ptr<metrics::MetricsProvider>(
new metrics::GPUMetricsProvider));
@@ -471,8 +457,7 @@ void ChromeMetricsServiceClient::Initialize() {
metrics_service_->RegisterMetricsProvider(
std::unique_ptr<metrics::MetricsProvider>(drive_metrics_provider_));
- profiler_metrics_provider_ = new metrics::ProfilerMetricsProvider(
- base::Bind(&metrics::IsCellularLogicEnabled));
+ profiler_metrics_provider_ = new metrics::ProfilerMetricsProvider();
metrics_service_->RegisterMetricsProvider(
std::unique_ptr<metrics::MetricsProvider>(profiler_metrics_provider_));
@@ -487,7 +472,7 @@ void ChromeMetricsServiceClient::Initialize() {
#if BUILDFLAG(ANDROID_JAVA_UI)
metrics_service_->RegisterMetricsProvider(
std::unique_ptr<metrics::MetricsProvider>(
- new AndroidMetricsProvider(g_browser_process->local_state())));
+ new AndroidMetricsProvider(local_state)));
metrics_service_->RegisterMetricsProvider(
std::unique_ptr<metrics::MetricsProvider>(new PageLoadMetricsProvider()));
#endif // BUILDFLAG(ANDROID_JAVA_UI)
@@ -514,8 +499,7 @@ void ChromeMetricsServiceClient::Initialize() {
#endif // defined(OS_WIN)
#if defined(ENABLE_PLUGINS)
- plugin_metrics_provider_ =
- new PluginMetricsProvider(g_browser_process->local_state());
+ plugin_metrics_provider_ = new PluginMetricsProvider(local_state);
metrics_service_->RegisterMetricsProvider(
std::unique_ptr<metrics::MetricsProvider>(plugin_metrics_provider_));
#endif // defined(ENABLE_PLUGINS)
@@ -534,7 +518,6 @@ void ChromeMetricsServiceClient::Initialize() {
// Record default UMA state as opt-out for all Chrome OS users, if not
// recorded yet.
- PrefService* local_state = g_browser_process->local_state();
if (metrics::GetMetricsReportingDefaultState(local_state) ==
metrics::EnableMetricsDefault::DEFAULT_UNKNOWN) {
metrics::RecordMetricsReportingDefaultState(
@@ -557,12 +540,6 @@ void ChromeMetricsServiceClient::Initialize() {
metrics_service_->RegisterMetricsProvider(
std::unique_ptr<metrics::MetricsProvider>(
new HttpsEngagementMetricsProvider()));
-
- // Clear stability metrics if it is the first time cellular upload logic
- // should apply to avoid sudden bulk uploads. It needs to be done after all
- // providers are registered.
- if (ShouldClearSavedMetrics())
- metrics_service_->ClearSavedStabilityMetrics();
}
void ChromeMetricsServiceClient::OnInitTaskGotHardwareClass() {
« no previous file with comments | « chrome/browser/metrics/chrome_metrics_service_accessor_unittest.cc ('k') | chrome/browser/metrics/metrics_reporting_state.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698