OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |