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

Side by Side Diff: net/base/network_change_notifier.cc

Issue 253203002: Log operator code histogram on new metric log (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@api_move
Patch Set: . 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
« no previous file with comments | « net/base/network_change_notifier.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "net/base/network_change_notifier.h" 5 #include "net/base/network_change_notifier.h"
6 6
7 #include "base/metrics/histogram.h" 7 #include "base/metrics/histogram.h"
8 #include "base/synchronization/lock.h" 8 #include "base/synchronization/lock.h"
9 #include "base/threading/thread_checker.h" 9 #include "base/threading/thread_checker.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 offline_packets_received_); 228 offline_packets_received_);
229 } 229 }
230 230
231 UMA_HISTOGRAM_MEDIUM_TIMES("NCN.OfflineDataRecvUntilOnline", 231 UMA_HISTOGRAM_MEDIUM_TIMES("NCN.OfflineDataRecvUntilOnline",
232 now - last_offline_packet_received_); 232 now - last_offline_packet_received_);
233 } 233 }
234 } else { 234 } else {
235 UMA_HISTOGRAM_MEDIUM_TIMES("NCN.OfflineChange", state_duration); 235 UMA_HISTOGRAM_MEDIUM_TIMES("NCN.OfflineChange", state_duration);
236 } 236 }
237 237
238 #if defined(OS_ANDROID) 238 NetworkChangeNotifier::LogOperatorCodeHistogram(type);
239 // On a connection type change to 2/3/4G, log the network operator MCC/MNC.
240 // Log zero in other cases.
241 unsigned mcc_mnc = 0;
242 if (type == NetworkChangeNotifier::CONNECTION_2G ||
243 type == NetworkChangeNotifier::CONNECTION_3G ||
244 type == NetworkChangeNotifier::CONNECTION_4G) {
245 // Log zero if not perfectly converted.
246 if (!base::StringToUint(
247 net::android::GetTelephonyNetworkOperator(), &mcc_mnc)) {
248 mcc_mnc = 0;
249 }
250 }
251 UMA_HISTOGRAM_SPARSE_SLOWLY(
252 "NCN.NetworkOperatorMCCMNC_ConnectionChange", mcc_mnc);
253 #endif
254 239
255 UMA_HISTOGRAM_MEDIUM_TIMES( 240 UMA_HISTOGRAM_MEDIUM_TIMES(
256 "NCN.IPAddressChangeToConnectionTypeChange", 241 "NCN.IPAddressChangeToConnectionTypeChange",
257 now - last_ip_address_change_); 242 now - last_ip_address_change_);
258 243
259 offline_packets_received_ = 0; 244 offline_packets_received_ = 0;
260 bytes_read_since_last_connection_change_ = 0; 245 bytes_read_since_last_connection_change_ = 0;
261 peak_kbps_since_last_connection_change_ = 0; 246 peak_kbps_since_last_connection_change_ = 0;
262 last_connection_type_ = type; 247 last_connection_type_ = type;
263 polling_interval_ = base::TimeDelta::FromSeconds(1); 248 polling_interval_ = base::TimeDelta::FromSeconds(1);
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 g_network_change_notifier->histogram_watcher_->Init(); 572 g_network_change_notifier->histogram_watcher_->Init();
588 } 573 }
589 574
590 // static 575 // static
591 void NetworkChangeNotifier::ShutdownHistogramWatcher() { 576 void NetworkChangeNotifier::ShutdownHistogramWatcher() {
592 if (!g_network_change_notifier) 577 if (!g_network_change_notifier)
593 return; 578 return;
594 g_network_change_notifier->histogram_watcher_.reset(); 579 g_network_change_notifier->histogram_watcher_.reset();
595 } 580 }
596 581
582 // static
583 void NetworkChangeNotifier::LogOperatorCodeHistogram(ConnectionType type) {
584 #if defined(OS_ANDROID)
585 // On a connection type change to 2/3/4G, log the network operator MCC/MNC.
586 // Log zero in other cases.
587 unsigned mcc_mnc = 0;
588 if (type == NetworkChangeNotifier::CONNECTION_2G ||
589 type == NetworkChangeNotifier::CONNECTION_3G ||
590 type == NetworkChangeNotifier::CONNECTION_4G) {
591 // Log zero if not perfectly converted.
592 if (!base::StringToUint(
593 net::android::GetTelephonyNetworkOperator(), &mcc_mnc)) {
594 mcc_mnc = 0;
595 }
596 }
597 UMA_HISTOGRAM_SPARSE_SLOWLY("NCN.NetworkOperatorMCCMNC", mcc_mnc);
598 #endif
599 }
600
597 #if defined(OS_LINUX) 601 #if defined(OS_LINUX)
598 // static 602 // static
599 const internal::AddressTrackerLinux* 603 const internal::AddressTrackerLinux*
600 NetworkChangeNotifier::GetAddressTracker() { 604 NetworkChangeNotifier::GetAddressTracker() {
601 return g_network_change_notifier ? 605 return g_network_change_notifier ?
602 g_network_change_notifier->GetAddressTrackerInternal() : NULL; 606 g_network_change_notifier->GetAddressTrackerInternal() : NULL;
603 } 607 }
604 #endif 608 #endif
605 609
606 // static 610 // static
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
766 DCHECK(g_network_change_notifier); 770 DCHECK(g_network_change_notifier);
767 g_network_change_notifier = NULL; 771 g_network_change_notifier = NULL;
768 } 772 }
769 773
770 NetworkChangeNotifier::DisableForTest::~DisableForTest() { 774 NetworkChangeNotifier::DisableForTest::~DisableForTest() {
771 DCHECK(!g_network_change_notifier); 775 DCHECK(!g_network_change_notifier);
772 g_network_change_notifier = network_change_notifier_; 776 g_network_change_notifier = network_change_notifier_;
773 } 777 }
774 778
775 } // namespace net 779 } // namespace net
OLDNEW
« no previous file with comments | « net/base/network_change_notifier.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698