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

Unified Diff: chrome/browser/metrics/chrome_metrics_service_client.cc

Issue 1033493002: Histogram for UMA log upload connection type. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/metrics/chrome_metrics_service_client.cc
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc
index c68d2bf7b816bb4688c11c63d1dc4ad2a3f3648f..230c376f4206894f9c81697714ec0e335183b3cd 100644
--- a/chrome/browser/metrics/chrome_metrics_service_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
@@ -13,6 +13,7 @@
#include "base/logging.h"
#include "base/metrics/field_trial.h"
#include "base/metrics/histogram.h"
+#include "base/metrics/sparse_histogram.h"
#include "base/prefs/pref_registry_simple.h"
#include "base/prefs/pref_service.h"
#include "base/strings/string16.h"
@@ -205,7 +206,13 @@ std::string ChromeMetricsServiceClient::GetVersionString() {
return version;
}
-void ChromeMetricsServiceClient::OnLogUploadComplete() {
+void ChromeMetricsServiceClient::OnLogUploadComplete(bool upload_succeeded) {
+ // Record the network connection type.
+ if (upload_succeeded) {
+ UMA_HISTOGRAM_SPARSE_SLOWLY("UMA.LogUpload.ConnetionType",
+ network_metrics_provider_->GetConnectionType());
Ilya Sherman 2015/03/24 00:14:23 The connection type is already recorded in the sys
Ilya Sherman 2015/03/24 00:14:23 FWIW, this histogram doesn't really need to be spa
gayane -on leave until 09-2017 2015/03/24 20:45:55 As discussed, system profile records the connectio
gayane -on leave until 09-2017 2015/03/24 20:45:55 Done.
+ }
+
// Collect network stats after each UMA upload.
network_stats_uploader_.CollectAndReportNetworkStats();
}
@@ -267,10 +274,8 @@ ChromeMetricsServiceClient::CreateUploader(
base::TimeDelta ChromeMetricsServiceClient::GetStandardUploadInterval() {
#if defined(OS_ANDROID) || defined(OS_IOS)
- bool is_cellular = false;
- cellular_callback_.Run(&is_cellular);
-
- if (is_cellular && IsCellularEnabledByExperiment())
+ if (network_metrics_provider_->IsCellularConnection() &&
+ IsCellularEnabledByExperiment())
return base::TimeDelta::FromSeconds(kStandardUploadIntervalCellularSeconds);
#endif
return base::TimeDelta::FromSeconds(kStandardUploadIntervalSeconds);
@@ -306,7 +311,14 @@ void ChromeMetricsServiceClient::Initialize() {
scoped_ptr<metrics::NetworkMetricsProvider> network_metrics_provider(
new metrics::NetworkMetricsProvider(
content::BrowserThread::GetBlockingPool()));
- cellular_callback_ = network_metrics_provider->GetConnectionCallback();
+
+ // GetConnectionCallback should be called from non const pointer.
Ilya Sherman 2015/03/24 00:14:23 I don't understand this comment. Why does this ne
gayane -on leave until 09-2017 2015/03/24 20:45:55 As network_metrics_provider_ as a const pointer I
+ profiler_metrics_provider_ = new metrics::ProfilerMetricsProvider(
+ network_metrics_provider.get()->GetConnectionCallback());
+ metrics_service_->RegisterMetricsProvider(
+ scoped_ptr<metrics::MetricsProvider>(profiler_metrics_provider_));
+
+ network_metrics_provider_ = network_metrics_provider.get();
metrics_service_->RegisterMetricsProvider(network_metrics_provider.Pass());
metrics_service_->RegisterMetricsProvider(
@@ -316,11 +328,6 @@ void ChromeMetricsServiceClient::Initialize() {
metrics_service_->RegisterMetricsProvider(
scoped_ptr<metrics::MetricsProvider>(new metrics::GPUMetricsProvider()));
- profiler_metrics_provider_ =
- new metrics::ProfilerMetricsProvider(cellular_callback_);
- metrics_service_->RegisterMetricsProvider(
- scoped_ptr<metrics::MetricsProvider>(profiler_metrics_provider_));
-
#if defined(OS_ANDROID)
metrics_service_->RegisterMetricsProvider(
scoped_ptr<metrics::MetricsProvider>(

Powered by Google App Engine
This is Rietveld 408576698