Chromium Code Reviews| Index: net/base/network_change_notifier.cc |
| diff --git a/net/base/network_change_notifier.cc b/net/base/network_change_notifier.cc |
| index 638964a25d29ad12016b9d20ad64cf82df7ef222..a8da30991169f80fa9ff666ebcac424bf9747027 100644 |
| --- a/net/base/network_change_notifier.cc |
| +++ b/net/base/network_change_notifier.cc |
| @@ -5,6 +5,7 @@ |
| #include "net/base/network_change_notifier.h" |
| #include "base/metrics/histogram.h" |
| +#include "base/metrics/sparse_histogram.h" |
| #include "base/synchronization/lock.h" |
| #include "base/threading/thread_checker.h" |
| #include "build/build_config.h" |
| @@ -14,6 +15,10 @@ |
| #include "net/url_request/url_request.h" |
| #include "url/gurl.h" |
| +#if defined(OS_ANDROID) |
| +#include "net/android/network_library.h" |
| +#endif |
| + |
| #if defined(OS_WIN) |
| #include "net/base/network_change_notifier_win.h" |
| #elif defined(OS_LINUX) && !defined(OS_CHROMEOS) |
| @@ -225,6 +230,22 @@ class HistogramWatcher |
| UMA_HISTOGRAM_MEDIUM_TIMES("NCN.OfflineDataRecvUntilOnline", |
| now - last_offline_packet_received_); |
| } |
| + |
| +#if defined(OS_ANDROID) |
| + if (type == NetworkChangeNotifier::CONNECTION_2G || |
| + type == NetworkChangeNotifier::CONNECTION_3G || |
| + type == NetworkChangeNotifier::CONNECTION_4G) { |
| + std::string mcc_mnc = android::GetTelephonyNetworkOperator(); |
| + if (!mcc_mnc.empty()) { |
| + int value = atoi(mcc_mnc.c_str()); |
|
Alexei Svitkine (slow)
2014/04/29 16:35:44
Nit: Use StringToUint() from base/strings/string_n
bolian
2014/04/29 17:36:44
Done.
|
| + if (value > 0) { |
| + UMA_HISTOGRAM_SPARSE_SLOWLY( |
| + "NCN.NetworkOperatorMCCMNC_ConnectionChange", value); |
| + } |
| + } |
| + } |
| +#endif |
| + |
| } else { |
| UMA_HISTOGRAM_MEDIUM_TIMES("NCN.OfflineChange", state_duration); |
| } |