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

Side by Side Diff: ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm

Issue 2567263003: Basic UkmService implementation (Closed)
Patch Set: RegisterPrefs 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "ios/chrome/browser/metrics/ios_chrome_metrics_service_client.h" 5 #include "ios/chrome/browser/metrics/ios_chrome_metrics_service_client.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 23 matching lines...) Expand all
34 #include "components/metrics/profiler/tracking_synchronizer.h" 34 #include "components/metrics/profiler/tracking_synchronizer.h"
35 #include "components/metrics/stability_metrics_helper.h" 35 #include "components/metrics/stability_metrics_helper.h"
36 #include "components/metrics/ui/screen_info_metrics_provider.h" 36 #include "components/metrics/ui/screen_info_metrics_provider.h"
37 #include "components/metrics/url_constants.h" 37 #include "components/metrics/url_constants.h"
38 #include "components/omnibox/browser/omnibox_metrics_provider.h" 38 #include "components/omnibox/browser/omnibox_metrics_provider.h"
39 #include "components/prefs/pref_registry_simple.h" 39 #include "components/prefs/pref_registry_simple.h"
40 #include "components/prefs/pref_service.h" 40 #include "components/prefs/pref_service.h"
41 #include "components/signin/core/browser/signin_status_metrics_provider.h" 41 #include "components/signin/core/browser/signin_status_metrics_provider.h"
42 #include "components/sync/device_info/device_count_metrics_provider.h" 42 #include "components/sync/device_info/device_count_metrics_provider.h"
43 #include "components/translate/core/browser/translate_ranker_metrics_provider.h" 43 #include "components/translate/core/browser/translate_ranker_metrics_provider.h"
44 #include "components/ukm/ukm_service.h"
44 #include "components/variations/variations_associated_data.h" 45 #include "components/variations/variations_associated_data.h"
45 #include "components/version_info/version_info.h" 46 #include "components/version_info/version_info.h"
46 #include "ios/chrome/browser/application_context.h" 47 #include "ios/chrome/browser/application_context.h"
47 #include "ios/chrome/browser/chrome_paths.h" 48 #include "ios/chrome/browser/chrome_paths.h"
48 #include "ios/chrome/browser/google/google_brand.h" 49 #include "ios/chrome/browser/google/google_brand.h"
49 #include "ios/chrome/browser/metrics/ios_chrome_stability_metrics_provider.h" 50 #include "ios/chrome/browser/metrics/ios_chrome_stability_metrics_provider.h"
50 #include "ios/chrome/browser/metrics/mobile_session_shutdown_metrics_provider.h" 51 #include "ios/chrome/browser/metrics/mobile_session_shutdown_metrics_provider.h"
51 #include "ios/chrome/browser/signin/ios_chrome_signin_status_metrics_provider_de legate.h" 52 #include "ios/chrome/browser/signin/ios_chrome_signin_status_metrics_provider_de legate.h"
52 #include "ios/chrome/browser/sync/ios_chrome_sync_client.h" 53 #include "ios/chrome/browser/sync/ios_chrome_sync_client.h"
53 #include "ios/chrome/browser/tab_parenting_global_observer.h" 54 #include "ios/chrome/browser/tab_parenting_global_observer.h"
(...skipping 30 matching lines...) Expand all
84 85
85 return client; 86 return client;
86 } 87 }
87 88
88 // static 89 // static
89 void IOSChromeMetricsServiceClient::RegisterPrefs( 90 void IOSChromeMetricsServiceClient::RegisterPrefs(
90 PrefRegistrySimple* registry) { 91 PrefRegistrySimple* registry) {
91 metrics::MetricsService::RegisterPrefs(registry); 92 metrics::MetricsService::RegisterPrefs(registry);
92 metrics::StabilityMetricsHelper::RegisterPrefs(registry); 93 metrics::StabilityMetricsHelper::RegisterPrefs(registry);
93 metrics::RegisterMetricsReportingStatePrefs(registry); 94 metrics::RegisterMetricsReportingStatePrefs(registry);
95 ukm::UkmService::RegisterPrefs(registry);
94 } 96 }
95 97
96 metrics::MetricsService* IOSChromeMetricsServiceClient::GetMetricsService() { 98 metrics::MetricsService* IOSChromeMetricsServiceClient::GetMetricsService() {
97 return metrics_service_.get(); 99 return metrics_service_.get();
98 } 100 }
99 101
102 metrics::MetricsService* IOSChromeMetricsServiceClient::GetMetricsService() {
103 return ukm_service_.get();
104 }
105
100 void IOSChromeMetricsServiceClient::SetMetricsClientId( 106 void IOSChromeMetricsServiceClient::SetMetricsClientId(
101 const std::string& client_id) { 107 const std::string& client_id) {
102 crash_keys::SetMetricsClientIdFromGUID(client_id); 108 crash_keys::SetMetricsClientIdFromGUID(client_id);
103 } 109 }
104 110
105 int32_t IOSChromeMetricsServiceClient::GetProduct() { 111 int32_t IOSChromeMetricsServiceClient::GetProduct() {
106 return metrics::ChromeUserMetricsExtension::CHROME; 112 return metrics::ChromeUserMetricsExtension::CHROME;
107 } 113 }
108 114
109 std::string IOSChromeMetricsServiceClient::GetApplicationLocale() { 115 std::string IOSChromeMetricsServiceClient::GetApplicationLocale() {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 web::WebState* web_state) { 181 web::WebState* web_state) {
176 metrics_service_->OnApplicationNotIdle(); 182 metrics_service_->OnApplicationNotIdle();
177 } 183 }
178 184
179 void IOSChromeMetricsServiceClient::WebStateDidStopLoading( 185 void IOSChromeMetricsServiceClient::WebStateDidStopLoading(
180 web::WebState* web_state) { 186 web::WebState* web_state) {
181 metrics_service_->OnApplicationNotIdle(); 187 metrics_service_->OnApplicationNotIdle();
182 } 188 }
183 189
184 void IOSChromeMetricsServiceClient::Initialize() { 190 void IOSChromeMetricsServiceClient::Initialize() {
191 PrefService* local_state = GetApplicationContext()->GetLocalState();
185 metrics_service_ = base::MakeUnique<metrics::MetricsService>( 192 metrics_service_ = base::MakeUnique<metrics::MetricsService>(
186 metrics_state_manager_, this, GetApplicationContext()->GetLocalState()); 193 metrics_state_manager_, this, local_state);
194
195 if (base::FeatureList::IsEnabled(kUkmFeature))
196 ukm_service_.reset(new ukm::UkmService(local_state, this));
187 197
188 // Register metrics providers. 198 // Register metrics providers.
189 metrics_service_->RegisterMetricsProvider( 199 metrics_service_->RegisterMetricsProvider(
190 base::MakeUnique<metrics::NetworkMetricsProvider>( 200 base::MakeUnique<metrics::NetworkMetricsProvider>(
191 web::WebThread::GetBlockingPool())); 201 web::WebThread::GetBlockingPool()));
192 202
193 // Currently, we configure OmniboxMetricsProvider to not log events to UMA 203 // Currently, we configure OmniboxMetricsProvider to not log events to UMA
194 // if there is a single incognito session visible. In the future, it may 204 // if there is a single incognito session visible. In the future, it may
195 // be worth revisiting this to still log events from non-incognito sessions. 205 // be worth revisiting this to still log events from non-incognito sessions.
196 metrics_service_->RegisterMetricsProvider( 206 metrics_service_->RegisterMetricsProvider(
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 327
318 void IOSChromeMetricsServiceClient::OnURLOpenedFromOmnibox(OmniboxLog* log) { 328 void IOSChromeMetricsServiceClient::OnURLOpenedFromOmnibox(OmniboxLog* log) {
319 metrics_service_->OnApplicationNotIdle(); 329 metrics_service_->OnApplicationNotIdle();
320 } 330 }
321 331
322 metrics::EnableMetricsDefault 332 metrics::EnableMetricsDefault
323 IOSChromeMetricsServiceClient::GetMetricsReportingDefaultState() { 333 IOSChromeMetricsServiceClient::GetMetricsReportingDefaultState() {
324 return metrics::GetMetricsReportingDefaultState( 334 return metrics::GetMetricsReportingDefaultState(
325 GetApplicationContext()->GetLocalState()); 335 GetApplicationContext()->GetLocalState());
326 } 336 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698