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); |
} |