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

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

Issue 2224063002: Use persistent memory for receiving metrics from sub-processes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed review comments by Alexei Created 4 years, 4 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 "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 <vector> 9 #include <vector>
10 10
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 if (ShouldClearSavedMetrics()) { 401 if (ShouldClearSavedMetrics()) {
402 PrefService* local_state = g_browser_process->local_state(); 402 PrefService* local_state = g_browser_process->local_state();
403 local_state->ClearPref(metrics::prefs::kMetricsInitialLogs); 403 local_state->ClearPref(metrics::prefs::kMetricsInitialLogs);
404 local_state->ClearPref(metrics::prefs::kMetricsOngoingLogs); 404 local_state->ClearPref(metrics::prefs::kMetricsOngoingLogs);
405 } 405 }
406 406
407 metrics_service_.reset(new metrics::MetricsService( 407 metrics_service_.reset(new metrics::MetricsService(
408 metrics_state_manager_, this, g_browser_process->local_state())); 408 metrics_state_manager_, this, g_browser_process->local_state()));
409 409
410 // Gets access to persistent metrics shared by sub-processes. 410 // Gets access to persistent metrics shared by sub-processes.
411 std::unique_ptr<SubprocessMetricsProvider> subprocess_metrics_provider(
412 new SubprocessMetricsProvider());
413 subprocess_metrics_provider->EnableSubprocessTracking();
411 metrics_service_->RegisterMetricsProvider( 414 metrics_service_->RegisterMetricsProvider(
412 std::unique_ptr<metrics::MetricsProvider>( 415 std::move(subprocess_metrics_provider));
413 new SubprocessMetricsProvider()));
414 416
415 // Register metrics providers. 417 // Register metrics providers.
416 #if defined(ENABLE_EXTENSIONS) 418 #if defined(ENABLE_EXTENSIONS)
417 metrics_service_->RegisterMetricsProvider( 419 metrics_service_->RegisterMetricsProvider(
418 std::unique_ptr<metrics::MetricsProvider>( 420 std::unique_ptr<metrics::MetricsProvider>(
419 new ExtensionsMetricsProvider(metrics_state_manager_))); 421 new ExtensionsMetricsProvider(metrics_state_manager_)));
420 #endif 422 #endif
421 metrics_service_->RegisterMetricsProvider( 423 metrics_service_->RegisterMetricsProvider(
422 std::unique_ptr<metrics::MetricsProvider>( 424 std::unique_ptr<metrics::MetricsProvider>(
423 new metrics::NetworkMetricsProvider( 425 new metrics::NetworkMetricsProvider(
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 } 795 }
794 } 796 }
795 797
796 void ChromeMetricsServiceClient::OnURLOpenedFromOmnibox(OmniboxLog* log) { 798 void ChromeMetricsServiceClient::OnURLOpenedFromOmnibox(OmniboxLog* log) {
797 metrics_service_->OnApplicationNotIdle(); 799 metrics_service_->OnApplicationNotIdle();
798 } 800 }
799 801
800 bool ChromeMetricsServiceClient::IsUMACellularUploadLogicEnabled() { 802 bool ChromeMetricsServiceClient::IsUMACellularUploadLogicEnabled() {
801 return metrics::IsCellularLogicEnabled(); 803 return metrics::IsCellularLogicEnabled();
802 } 804 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698