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

Side by Side Diff: components/metrics_services_manager/metrics_services_manager.cc

Issue 2933953002: Make --enable-benchmarking not affect metrics recording. (Closed)
Patch Set: Created 3 years, 6 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 "components/metrics_services_manager/metrics_services_manager.h" 5 #include "components/metrics_services_manager/metrics_services_manager.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/command_line.h"
9 #include "base/logging.h" 10 #include "base/logging.h"
10 #include "components/metrics/metrics_service.h" 11 #include "components/metrics/metrics_service.h"
11 #include "components/metrics/metrics_service_client.h" 12 #include "components/metrics/metrics_service_client.h"
12 #include "components/metrics/metrics_state_manager.h" 13 #include "components/metrics/metrics_state_manager.h"
14 #include "components/metrics/metrics_switches.h"
13 #include "components/metrics_services_manager/metrics_services_manager_client.h" 15 #include "components/metrics_services_manager/metrics_services_manager_client.h"
14 #include "components/rappor/rappor_service_impl.h" 16 #include "components/rappor/rappor_service_impl.h"
15 #include "components/ukm/ukm_service.h" 17 #include "components/ukm/ukm_service.h"
16 #include "components/variations/service/variations_service.h" 18 #include "components/variations/service/variations_service.h"
17 19
18 namespace metrics_services_manager { 20 namespace metrics_services_manager {
19 21
20 MetricsServicesManager::MetricsServicesManager( 22 MetricsServicesManager::MetricsServicesManager(
21 std::unique_ptr<MetricsServicesManagerClient> client) 23 std::unique_ptr<MetricsServicesManagerClient> client)
22 : client_(std::move(client)), may_upload_(false), may_record_(false) { 24 : client_(std::move(client)), may_upload_(false), may_record_(false) {
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 // controls whether FINE metrics are sent. 98 // controls whether FINE metrics are sent.
97 may_record_ = current_may_record; 99 may_record_ = current_may_record;
98 may_upload_ = current_may_upload; 100 may_upload_ = current_may_upload;
99 UpdateRunningServices(); 101 UpdateRunningServices();
100 } 102 }
101 103
102 void MetricsServicesManager::UpdateRunningServices() { 104 void MetricsServicesManager::UpdateRunningServices() {
103 DCHECK(thread_checker_.CalledOnValidThread()); 105 DCHECK(thread_checker_.CalledOnValidThread());
104 metrics::MetricsService* metrics = GetMetricsService(); 106 metrics::MetricsService* metrics = GetMetricsService();
105 107
106 if (client_->OnlyDoMetricsRecording()) { 108 const base::CommandLine* cmdline = base::CommandLine::ForCurrentProcess();
109 if (cmdline->HasSwitch(metrics::switches::kMetricsRecordingOnly)) {
107 metrics->StartRecordingForTests(); 110 metrics->StartRecordingForTests();
108 GetRapporServiceImpl()->Update(true, false); 111 GetRapporServiceImpl()->Update(true, false);
109 return; 112 return;
110 } 113 }
111 114
112 client_->UpdateRunningServices(may_record_, may_upload_); 115 client_->UpdateRunningServices(may_record_, may_upload_);
113 116
114 if (may_record_) { 117 if (may_record_) {
115 if (!metrics->recording_active()) 118 if (!metrics->recording_active())
116 metrics->Start(); 119 metrics->Start();
(...skipping 29 matching lines...) Expand all
146 } 149 }
147 } 150 }
148 151
149 void MetricsServicesManager::UpdateUploadPermissions(bool may_upload) { 152 void MetricsServicesManager::UpdateUploadPermissions(bool may_upload) {
150 UpdatePermissions((client_->IsMetricsReportingForceEnabled() || 153 UpdatePermissions((client_->IsMetricsReportingForceEnabled() ||
151 client_->IsMetricsReportingEnabled()), 154 client_->IsMetricsReportingEnabled()),
152 client_->IsMetricsReportingForceEnabled() || may_upload); 155 client_->IsMetricsReportingForceEnabled() || may_upload);
153 } 156 }
154 157
155 } // namespace metrics_services_manager 158 } // namespace metrics_services_manager
OLDNEW
« no previous file with comments | « components/metrics/metrics_switches.cc ('k') | components/metrics_services_manager/metrics_services_manager_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698