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

Side by Side Diff: chrome/browser/metrics/chrome_metrics_service_client.cc

Issue 2567263003: Basic UkmService implementation (Closed)
Patch Set: Minor changes Created 3 years, 11 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 unified diff | Download patch
OLDNEW
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698