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

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

Issue 2671603002: Add network information to UKM (Closed)
Patch Set: fix comments and includes Created 3 years, 10 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
« no previous file with comments | « chrome/browser/metrics/chrome_metrics_service_client.h ('k') | components/metrics/test_metrics_provider.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 7d0e51a86d3d827a99ae55809847694fb3b9a475..22aeeb2a6024694d2176f0e0bf82c8a5a90d2f1f 100644
--- a/chrome/browser/metrics/chrome_metrics_service_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
@@ -564,15 +564,22 @@ void ChromeMetricsServiceClient::Initialize() {
metrics_service_.reset(
new metrics::MetricsService(metrics_state_manager_, this, local_state));
- if (base::FeatureList::IsEnabled(ukm::kUkmFeature))
+ RegisterMetricsServiceProviders();
+
+ if (base::FeatureList::IsEnabled(ukm::kUkmFeature)) {
ukm_service_.reset(new ukm::UkmService(local_state, this));
+ RegisterUKMProviders();
+ }
+}
+
+void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() {
+ PrefService* local_state = g_browser_process->local_state();
// Gets access to persistent metrics shared by sub-processes.
metrics_service_->RegisterMetricsProvider(
std::unique_ptr<metrics::MetricsProvider>(
new SubprocessMetricsProvider()));
- // Register metrics providers.
#if BUILDFLAG(ENABLE_EXTENSIONS)
metrics_service_->RegisterMetricsProvider(
std::unique_ptr<metrics::MetricsProvider>(
@@ -591,12 +598,15 @@ void ChromeMetricsServiceClient::Initialize() {
metrics_service_->RegisterMetricsProvider(
std::unique_ptr<metrics::MetricsProvider>(new OmniboxMetricsProvider(
base::Bind(&chrome::IsIncognitoSessionActive))));
+
metrics_service_->RegisterMetricsProvider(
std::unique_ptr<metrics::MetricsProvider>(
new ChromeStabilityMetricsProvider(local_state)));
+
metrics_service_->RegisterMetricsProvider(
std::unique_ptr<metrics::MetricsProvider>(
new metrics::GPUMetricsProvider));
+
metrics_service_->RegisterMetricsProvider(
std::unique_ptr<metrics::MetricsProvider>(
new metrics::ScreenInfoMetricsProvider));
@@ -712,6 +722,14 @@ void ChromeMetricsServiceClient::Initialize() {
new CertificateReportingMetricsProvider()));
}
+void ChromeMetricsServiceClient::RegisterUKMProviders() {
+ ukm_service_->RegisterMetricsProvider(
+ base::MakeUnique<metrics::NetworkMetricsProvider>(
+ base::MakeUnique<metrics::NetworkQualityEstimatorProviderImpl>(
+ g_browser_process->io_thread()),
+ content::BrowserThread::GetBlockingPool()));
+}
+
bool ChromeMetricsServiceClient::ShouldIncludeProfilerDataInLog() {
// Upload profiler data at most once per session.
if (has_uploaded_profiler_data_)
« no previous file with comments | « chrome/browser/metrics/chrome_metrics_service_client.h ('k') | components/metrics/test_metrics_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698