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

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

Issue 291163006: Create GPUMetricsProvider. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Response to review Created 6 years, 7 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 | Annotate | Revision Log
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/metrics_services_manager.h" 5 #include "chrome/browser/metrics/metrics_services_manager.h"
6 6
7 #include "chrome/browser/metrics/gpu_metrics_provider.h"
7 #include "chrome/browser/metrics/metrics_service.h" 8 #include "chrome/browser/metrics/metrics_service.h"
8 #include "chrome/browser/metrics/metrics_state_manager.h" 9 #include "chrome/browser/metrics/metrics_state_manager.h"
9 #include "chrome/browser/metrics/variations/variations_service.h" 10 #include "chrome/browser/metrics/variations/variations_service.h"
10 #include "components/rappor/rappor_service.h" 11 #include "components/rappor/rappor_service.h"
11 12
12 MetricsServicesManager::MetricsServicesManager(PrefService* local_state) 13 MetricsServicesManager::MetricsServicesManager(PrefService* local_state)
13 : local_state_(local_state) { 14 : local_state_(local_state) {
14 DCHECK(local_state); 15 DCHECK(local_state);
15 } 16 }
16 17
17 MetricsServicesManager::~MetricsServicesManager() { 18 MetricsServicesManager::~MetricsServicesManager() {
18 } 19 }
19 20
20 MetricsService* MetricsServicesManager::GetMetricsService() { 21 MetricsService* MetricsServicesManager::GetMetricsService() {
21 DCHECK(thread_checker_.CalledOnValidThread()); 22 DCHECK(thread_checker_.CalledOnValidThread());
22 if (!metrics_service_) 23 if (!metrics_service_) {
23 metrics_service_.reset(new MetricsService(GetMetricsStateManager())); 24 metrics_service_.reset(new MetricsService(GetMetricsStateManager()));
25
26 // TODO(asvitkine): Move the registration of the metrics providers into
27 // ChromeMetricsServiceClient. crbug.com/375248
28 metrics_service_->RegisterDataProvider(
29 scoped_ptr<metrics::MetricsDataProvider>(new GPUMetricsProvider()));
Ilya Sherman 2014/05/20 14:40:27 nit: "MetricsDataProvider" -> "MetricsProvider"
blundell 2014/05/20 14:59:11 I'm going to rebase this once Alexei's patch lands
30 }
24 return metrics_service_.get(); 31 return metrics_service_.get();
25 } 32 }
26 33
27 rappor::RapporService* MetricsServicesManager::GetRapporService() { 34 rappor::RapporService* MetricsServicesManager::GetRapporService() {
28 DCHECK(thread_checker_.CalledOnValidThread()); 35 DCHECK(thread_checker_.CalledOnValidThread());
29 if (!rappor_service_) 36 if (!rappor_service_)
30 rappor_service_.reset(new rappor::RapporService); 37 rappor_service_.reset(new rappor::RapporService);
31 return rappor_service_.get(); 38 return rappor_service_.get();
32 } 39 }
33 40
34 chrome_variations::VariationsService* 41 chrome_variations::VariationsService*
35 MetricsServicesManager::GetVariationsService() { 42 MetricsServicesManager::GetVariationsService() {
36 DCHECK(thread_checker_.CalledOnValidThread()); 43 DCHECK(thread_checker_.CalledOnValidThread());
37 if (!variations_service_) { 44 if (!variations_service_) {
38 variations_service_ = 45 variations_service_ =
39 chrome_variations::VariationsService::Create(local_state_, 46 chrome_variations::VariationsService::Create(local_state_,
40 GetMetricsStateManager()); 47 GetMetricsStateManager());
41 } 48 }
42 return variations_service_.get(); 49 return variations_service_.get();
43 } 50 }
44 51
45 metrics::MetricsStateManager* MetricsServicesManager::GetMetricsStateManager() { 52 metrics::MetricsStateManager* MetricsServicesManager::GetMetricsStateManager() {
46 DCHECK(thread_checker_.CalledOnValidThread()); 53 DCHECK(thread_checker_.CalledOnValidThread());
47 if (!metrics_state_manager_) 54 if (!metrics_state_manager_)
48 metrics_state_manager_ = metrics::MetricsStateManager::Create(local_state_); 55 metrics_state_manager_ = metrics::MetricsStateManager::Create(local_state_);
49 return metrics_state_manager_.get(); 56 return metrics_state_manager_.get();
50 } 57 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698