Chromium Code Reviews| 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 fa618404fe9cbdf83657f32b48140bd05bf1638b..2776d7e4acc3477f51b9af6973751243ab2f3bb2 100644 |
| --- a/chrome/browser/metrics/chrome_metrics_service_client.cc |
| +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc |
| @@ -70,6 +70,7 @@ |
| #include "components/prefs/pref_service.h" |
| #include "components/sync/device_info/device_count_metrics_provider.h" |
| #include "components/translate/core/browser/translate_ranker_metrics_provider.h" |
| +#include "components/ukm/ukm_service.h" |
| #include "components/version_info/version_info.h" |
| #include "content/public/browser/browser_thread.h" |
| #include "content/public/browser/histogram_fetcher.h" |
| @@ -318,6 +319,7 @@ std::unique_ptr<ChromeMetricsServiceClient> ChromeMetricsServiceClient::Create( |
| // static |
| void ChromeMetricsServiceClient::RegisterPrefs(PrefRegistrySimple* registry) { |
| metrics::MetricsService::RegisterPrefs(registry); |
| + ukm::UkmService::RegisterPrefs(registry); |
| metrics::StabilityMetricsHelper::RegisterPrefs(registry); |
| RegisterFileMetricsPreferences(registry); |
| @@ -337,6 +339,10 @@ metrics::MetricsService* ChromeMetricsServiceClient::GetMetricsService() { |
| return metrics_service_.get(); |
| } |
| +ukm::UkmService* ChromeMetricsServiceClient::GetUkmService() { |
| + return ukm_service_.get(); |
| +} |
| + |
| void ChromeMetricsServiceClient::SetMetricsClientId( |
| const std::string& client_id) { |
| crash_keys::SetMetricsClientIdFromGUID(client_id); |
| @@ -506,12 +512,13 @@ void ChromeMetricsServiceClient::CollectFinalMetricsForLog( |
| std::unique_ptr<metrics::MetricsLogUploader> |
| ChromeMetricsServiceClient::CreateUploader( |
| + const std::string& server_url, |
| + const std::string& mime_type, |
| const base::Callback<void(int)>& on_upload_complete) { |
| return std::unique_ptr<metrics::MetricsLogUploader>( |
| new metrics::NetMetricsLogUploader( |
| g_browser_process->system_request_context(), |
| - metrics::kDefaultMetricsServerUrl, metrics::kDefaultMetricsMimeType, |
| - on_upload_complete)); |
| + server_url, mime_type, on_upload_complete)); |
| } |
| base::TimeDelta ChromeMetricsServiceClient::GetStandardUploadInterval() { |
| @@ -558,6 +565,8 @@ void ChromeMetricsServiceClient::Initialize() { |
| metrics_service_.reset( |
| new metrics::MetricsService(metrics_state_manager_, this, local_state)); |
| + ukm_service_.reset( |
|
Alexei Svitkine (slow)
2017/01/06 16:34:32
Should we gate this on a base::Feature?
Steven Holte
2017/01/06 20:21:26
Moved the feature check here.
|
| + new ukm::UkmService(local_state, this)); |
|
Alexei Svitkine (slow)
2017/01/06 16:34:32
Nit: Fits on line above?
Steven Holte
2017/01/06 20:21:26
Done.
|
| // Gets access to persistent metrics shared by sub-processes. |
| metrics_service_->RegisterMetricsProvider( |