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

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

Issue 2487783002: Make Crashpad use the user data dir, rather than always default location (Closed)
Patch Set: . Created 4 years, 1 month 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 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 scoped_refptr<base::TaskRunner> task_runner = 188 scoped_refptr<base::TaskRunner> task_runner =
189 content::BrowserThread::GetBlockingPool() 189 content::BrowserThread::GetBlockingPool()
190 ->GetTaskRunnerWithShutdownBehavior( 190 ->GetTaskRunnerWithShutdownBehavior(
191 base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); 191 base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN);
192 192
193 // Create an object to monitor files of metrics and include them in reports. 193 // Create an object to monitor files of metrics and include them in reports.
194 std::unique_ptr<metrics::FileMetricsProvider> file_metrics_provider( 194 std::unique_ptr<metrics::FileMetricsProvider> file_metrics_provider(
195 new metrics::FileMetricsProvider(task_runner, 195 new metrics::FileMetricsProvider(task_runner,
196 g_browser_process->local_state())); 196 g_browser_process->local_state()));
197 197
198 // Register the file holding browser metrics.
199 base::FilePath user_data_dir; 198 base::FilePath user_data_dir;
200 if (base::PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)) { 199 if (base::PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)) {
200 // Register the file holding browser metrics.
201 RegisterOrRemovePreviousRunMetricsFile( 201 RegisterOrRemovePreviousRunMetricsFile(
202 metrics_reporting_enabled, user_data_dir, 202 metrics_reporting_enabled, user_data_dir,
203 ChromeMetricsServiceClient::kBrowserMetricsName, task_runner, 203 ChromeMetricsServiceClient::kBrowserMetricsName, task_runner,
204 file_metrics_provider.get()); 204 file_metrics_provider.get());
205 }
206 205
207 // Read the Crashpad metrics files. 206 // Register the Crashpad metrics files.
208 base::FilePath default_user_data_dir;
209 if (chrome::GetDefaultUserDataDirectory(&default_user_data_dir)) {
210 // Register the data from the previous run if crashpad_handler didn't exit 207 // Register the data from the previous run if crashpad_handler didn't exit
211 // cleanly. 208 // cleanly.
212 RegisterOrRemovePreviousRunMetricsFile( 209 RegisterOrRemovePreviousRunMetricsFile(
213 metrics_reporting_enabled, default_user_data_dir, 210 metrics_reporting_enabled, user_data_dir,
214 kCrashpadHistogramAllocatorName, task_runner, 211 kCrashpadHistogramAllocatorName, task_runner,
215 file_metrics_provider.get()); 212 file_metrics_provider.get());
216 if (metrics_reporting_enabled) { 213 if (metrics_reporting_enabled) {
217 base::FilePath active_path; 214 base::FilePath active_path;
218 base::GlobalHistogramAllocator::ConstructFilePaths( 215 base::GlobalHistogramAllocator::ConstructFilePaths(
219 default_user_data_dir, kCrashpadHistogramAllocatorName, nullptr, 216 user_data_dir, kCrashpadHistogramAllocatorName, nullptr,
220 &active_path); 217 &active_path);
221 // Register data that will be populated for the current run. 218 // Register data that will be populated for the current run.
222 file_metrics_provider->RegisterSource( 219 file_metrics_provider->RegisterSource(
223 active_path, 220 active_path,
224 metrics::FileMetricsProvider::SOURCE_HISTOGRAMS_ATOMIC_FILE, 221 metrics::FileMetricsProvider::SOURCE_HISTOGRAMS_ATOMIC_FILE,
225 metrics::FileMetricsProvider::ASSOCIATE_CURRENT_RUN, 222 metrics::FileMetricsProvider::ASSOCIATE_CURRENT_RUN,
226 kCrashpadHistogramAllocatorName); 223 kCrashpadHistogramAllocatorName);
227 } 224 }
228 } 225 }
229 226
(...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after
879 } 876 }
880 } 877 }
881 878
882 void ChromeMetricsServiceClient::OnURLOpenedFromOmnibox(OmniboxLog* log) { 879 void ChromeMetricsServiceClient::OnURLOpenedFromOmnibox(OmniboxLog* log) {
883 metrics_service_->OnApplicationNotIdle(); 880 metrics_service_->OnApplicationNotIdle();
884 } 881 }
885 882
886 bool ChromeMetricsServiceClient::IsUMACellularUploadLogicEnabled() { 883 bool ChromeMetricsServiceClient::IsUMACellularUploadLogicEnabled() {
887 return metrics::IsCellularLogicEnabled(); 884 return metrics::IsCellularLogicEnabled();
888 } 885 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698