Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/metrics/chrome_metrics_service_client.h" | 5 #include "chrome/browser/metrics/chrome_metrics_service_client.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 63 #include "components/metrics/profiler/profiler_metrics_provider.h" | 63 #include "components/metrics/profiler/profiler_metrics_provider.h" |
| 64 #include "components/metrics/profiler/tracking_synchronizer.h" | 64 #include "components/metrics/profiler/tracking_synchronizer.h" |
| 65 #include "components/metrics/stability_metrics_helper.h" | 65 #include "components/metrics/stability_metrics_helper.h" |
| 66 #include "components/metrics/ui/screen_info_metrics_provider.h" | 66 #include "components/metrics/ui/screen_info_metrics_provider.h" |
| 67 #include "components/metrics/url_constants.h" | 67 #include "components/metrics/url_constants.h" |
| 68 #include "components/omnibox/browser/omnibox_metrics_provider.h" | 68 #include "components/omnibox/browser/omnibox_metrics_provider.h" |
| 69 #include "components/prefs/pref_registry_simple.h" | 69 #include "components/prefs/pref_registry_simple.h" |
| 70 #include "components/prefs/pref_service.h" | 70 #include "components/prefs/pref_service.h" |
| 71 #include "components/sync/device_info/device_count_metrics_provider.h" | 71 #include "components/sync/device_info/device_count_metrics_provider.h" |
| 72 #include "components/translate/core/browser/translate_ranker_metrics_provider.h" | 72 #include "components/translate/core/browser/translate_ranker_metrics_provider.h" |
| 73 #include "components/ukm/ukm_service.h" | |
| 73 #include "components/version_info/version_info.h" | 74 #include "components/version_info/version_info.h" |
| 74 #include "content/public/browser/browser_thread.h" | 75 #include "content/public/browser/browser_thread.h" |
| 75 #include "content/public/browser/histogram_fetcher.h" | 76 #include "content/public/browser/histogram_fetcher.h" |
| 76 #include "content/public/browser/notification_service.h" | 77 #include "content/public/browser/notification_service.h" |
| 77 #include "extensions/features/features.h" | 78 #include "extensions/features/features.h" |
| 78 #include "ppapi/features/features.h" | 79 #include "ppapi/features/features.h" |
| 79 #include "printing/features/features.h" | 80 #include "printing/features/features.h" |
| 80 | 81 |
| 81 #if defined(OS_ANDROID) | 82 #if defined(OS_ANDROID) |
| 82 #include "chrome/browser/metrics/android_metrics_provider.h" | 83 #include "chrome/browser/metrics/android_metrics_provider.h" |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 311 std::unique_ptr<ChromeMetricsServiceClient> client( | 312 std::unique_ptr<ChromeMetricsServiceClient> client( |
| 312 new ChromeMetricsServiceClient(state_manager)); | 313 new ChromeMetricsServiceClient(state_manager)); |
| 313 client->Initialize(); | 314 client->Initialize(); |
| 314 | 315 |
| 315 return client; | 316 return client; |
| 316 } | 317 } |
| 317 | 318 |
| 318 // static | 319 // static |
| 319 void ChromeMetricsServiceClient::RegisterPrefs(PrefRegistrySimple* registry) { | 320 void ChromeMetricsServiceClient::RegisterPrefs(PrefRegistrySimple* registry) { |
| 320 metrics::MetricsService::RegisterPrefs(registry); | 321 metrics::MetricsService::RegisterPrefs(registry); |
| 322 ukm::UkmService::RegisterPrefs(registry); | |
| 321 metrics::StabilityMetricsHelper::RegisterPrefs(registry); | 323 metrics::StabilityMetricsHelper::RegisterPrefs(registry); |
| 322 | 324 |
| 323 RegisterFileMetricsPreferences(registry); | 325 RegisterFileMetricsPreferences(registry); |
| 324 | 326 |
| 325 metrics::RegisterMetricsReportingStatePrefs(registry); | 327 metrics::RegisterMetricsReportingStatePrefs(registry); |
| 326 | 328 |
| 327 #if defined(OS_ANDROID) | 329 #if defined(OS_ANDROID) |
| 328 AndroidMetricsProvider::RegisterPrefs(registry); | 330 AndroidMetricsProvider::RegisterPrefs(registry); |
| 329 #endif // defined(OS_ANDROID) | 331 #endif // defined(OS_ANDROID) |
| 330 | 332 |
| 331 #if BUILDFLAG(ENABLE_PLUGINS) | 333 #if BUILDFLAG(ENABLE_PLUGINS) |
| 332 PluginMetricsProvider::RegisterPrefs(registry); | 334 PluginMetricsProvider::RegisterPrefs(registry); |
| 333 #endif // BUILDFLAG(ENABLE_PLUGINS) | 335 #endif // BUILDFLAG(ENABLE_PLUGINS) |
| 334 } | 336 } |
| 335 | 337 |
| 336 metrics::MetricsService* ChromeMetricsServiceClient::GetMetricsService() { | 338 metrics::MetricsService* ChromeMetricsServiceClient::GetMetricsService() { |
| 337 return metrics_service_.get(); | 339 return metrics_service_.get(); |
| 338 } | 340 } |
| 339 | 341 |
| 342 ukm::UkmService* ChromeMetricsServiceClient::GetUkmService() { | |
| 343 return ukm_service_.get(); | |
| 344 } | |
| 345 | |
| 340 void ChromeMetricsServiceClient::SetMetricsClientId( | 346 void ChromeMetricsServiceClient::SetMetricsClientId( |
| 341 const std::string& client_id) { | 347 const std::string& client_id) { |
| 342 crash_keys::SetMetricsClientIdFromGUID(client_id); | 348 crash_keys::SetMetricsClientIdFromGUID(client_id); |
| 343 } | 349 } |
| 344 | 350 |
| 345 int32_t ChromeMetricsServiceClient::GetProduct() { | 351 int32_t ChromeMetricsServiceClient::GetProduct() { |
| 346 return metrics::ChromeUserMetricsExtension::CHROME; | 352 return metrics::ChromeUserMetricsExtension::CHROME; |
| 347 } | 353 } |
| 348 | 354 |
| 349 std::string ChromeMetricsServiceClient::GetApplicationLocale() { | 355 std::string ChromeMetricsServiceClient::GetApplicationLocale() { |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 553 // Clear deprecated metrics preference for Android. | 559 // Clear deprecated metrics preference for Android. |
| 554 // TODO(gayane): Cleanup this code after M60 when the pref would be cleared | 560 // TODO(gayane): Cleanup this code after M60 when the pref would be cleared |
| 555 // from clients. | 561 // from clients. |
| 556 #if defined(OS_ANDROID) | 562 #if defined(OS_ANDROID) |
| 557 local_state->ClearPref(prefs::kCrashReportingEnabled); | 563 local_state->ClearPref(prefs::kCrashReportingEnabled); |
| 558 #endif | 564 #endif |
| 559 | 565 |
| 560 metrics_service_.reset( | 566 metrics_service_.reset( |
| 561 new metrics::MetricsService(metrics_state_manager_, this, local_state)); | 567 new metrics::MetricsService(metrics_state_manager_, this, local_state)); |
| 562 | 568 |
| 569 if (base::FeatureList::IsEnabled(kUkmFeature)) | |
|
rkaplow
2017/01/11 22:05:13
should be ukm::kUkmFeature
Steven Holte
2017/01/11 22:52:03
Done.
| |
| 570 ukm_service_.reset(new ukm::UkmService(local_state, this)); | |
| 571 | |
| 563 // Gets access to persistent metrics shared by sub-processes. | 572 // Gets access to persistent metrics shared by sub-processes. |
| 564 metrics_service_->RegisterMetricsProvider( | 573 metrics_service_->RegisterMetricsProvider( |
| 565 std::unique_ptr<metrics::MetricsProvider>( | 574 std::unique_ptr<metrics::MetricsProvider>( |
| 566 new SubprocessMetricsProvider())); | 575 new SubprocessMetricsProvider())); |
| 567 | 576 |
| 568 // Register metrics providers. | 577 // Register metrics providers. |
| 569 #if BUILDFLAG(ENABLE_EXTENSIONS) | 578 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 570 metrics_service_->RegisterMetricsProvider( | 579 metrics_service_->RegisterMetricsProvider( |
| 571 std::unique_ptr<metrics::MetricsProvider>( | 580 std::unique_ptr<metrics::MetricsProvider>( |
| 572 new ExtensionsMetricsProvider(metrics_state_manager_))); | 581 new ExtensionsMetricsProvider(metrics_state_manager_))); |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 894 } | 903 } |
| 895 } | 904 } |
| 896 | 905 |
| 897 void ChromeMetricsServiceClient::OnURLOpenedFromOmnibox(OmniboxLog* log) { | 906 void ChromeMetricsServiceClient::OnURLOpenedFromOmnibox(OmniboxLog* log) { |
| 898 metrics_service_->OnApplicationNotIdle(); | 907 metrics_service_->OnApplicationNotIdle(); |
| 899 } | 908 } |
| 900 | 909 |
| 901 bool ChromeMetricsServiceClient::IsUMACellularUploadLogicEnabled() { | 910 bool ChromeMetricsServiceClient::IsUMACellularUploadLogicEnabled() { |
| 902 return metrics::IsCellularLogicEnabled(); | 911 return metrics::IsCellularLogicEnabled(); |
| 903 } | 912 } |
| OLD | NEW |