summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-27 01:08:56 +0000
committerstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-27 01:08:56 +0000
commitd2d33161ed215bddd0d3fdf9100326e4699a7af6 (patch)
treefe2fe9f4a134fe938527ca2d2d6c4649bbfd6b01
parent1782f51289359d02e168a9fbe3c861e32fa74fbb (diff)
downloadchromium_src-d2d33161ed215bddd0d3fdf9100326e4699a7af6.zip
chromium_src-d2d33161ed215bddd0d3fdf9100326e4699a7af6.tar.gz
chromium_src-d2d33161ed215bddd0d3fdf9100326e4699a7af6.tar.bz2
Add cros network UMA stats for sim locked and visible/shared/unshared networks
BUG=231760,231764 TBR=gauravsh@chromium.org Review URL: https://chromiumcodereview.appspot.com/23050010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219656 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chromeos/network/device_state.cc11
-rw-r--r--chromeos/network/device_state.h2
-rw-r--r--chromeos/network/network_state_handler.cc18
3 files changed, 31 insertions, 0 deletions
diff --git a/chromeos/network/device_state.cc b/chromeos/network/device_state.cc
index e219571..f71b978 100644
--- a/chromeos/network/device_state.cc
+++ b/chromeos/network/device_state.cc
@@ -5,6 +5,7 @@
#include "chromeos/network/device_state.h"
#include "base/logging.h"
+#include "base/metrics/histogram.h"
#include "base/strings/stringprintf.h"
#include "base/values.h"
#include "third_party/cros_system_api/dbus/service_constants.h"
@@ -118,6 +119,16 @@ bool DeviceState::PropertyChanged(const std::string& key,
return false;
}
+bool DeviceState::InitialPropertiesReceived(
+ const base::DictionaryValue& properties) {
+ // Update UMA stats.
+ if (sim_present_) {
+ bool locked = !sim_lock_type_.empty();
+ UMA_HISTOGRAM_BOOLEAN("Cellular.SIMLocked", locked);
+ }
+ return false;
+}
+
bool DeviceState::IsSimAbsent() const {
return technology_family_ == flimflam::kTechnologyFamilyGsm && !sim_present_;
}
diff --git a/chromeos/network/device_state.h b/chromeos/network/device_state.h
index 00a6cdc..bfad9277 100644
--- a/chromeos/network/device_state.h
+++ b/chromeos/network/device_state.h
@@ -23,6 +23,8 @@ class CHROMEOS_EXPORT DeviceState : public ManagedState {
// ManagedState overrides
virtual bool PropertyChanged(const std::string& key,
const base::Value& value) OVERRIDE;
+ virtual bool InitialPropertiesReceived(
+ const base::DictionaryValue& properties) OVERRIDE;
// Accessors
const std::string& mac_address() const { return mac_address_; }
diff --git a/chromeos/network/network_state_handler.cc b/chromeos/network/network_state_handler.cc
index 106537f..878e152 100644
--- a/chromeos/network/network_state_handler.cc
+++ b/chromeos/network/network_state_handler.cc
@@ -7,6 +7,7 @@
#include "base/bind.h"
#include "base/format_macros.h"
#include "base/location.h"
+#include "base/metrics/histogram.h"
#include "base/stl_util.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
@@ -595,11 +596,28 @@ void NetworkStateHandler::ManagedStateListChanged(
// The list order may have changed, so check if the default network changed.
if (CheckDefaultNetworkChanged())
OnDefaultNetworkChanged();
+ // Update UMA stats.
+ UMA_HISTOGRAM_COUNTS_100("Networks.Visible", network_list_.size());
} else if (type == ManagedState::MANAGED_TYPE_FAVORITE) {
NET_LOG_DEBUG("FavoriteListChanged",
base::StringPrintf("Size:%" PRIuS, favorite_list_.size()));
// The FavoriteState list only changes when the NetworkState list changes,
// so no need to signal observers here again.
+
+ // Update UMA stats.
+ size_t shared = 0, unshared = 0;
+ for (ManagedStateList::iterator iter = favorite_list_.begin();
+ iter != favorite_list_.end(); ++iter) {
+ FavoriteState* favorite = (*iter)->AsFavoriteState();
+ if (!favorite->is_favorite())
+ continue;
+ if (favorite->IsPrivate())
+ ++unshared;
+ else
+ ++shared;
+ }
+ UMA_HISTOGRAM_COUNTS_100("Networks.RememberedShared", shared);
+ UMA_HISTOGRAM_COUNTS_100("Networks.RememberedUnshared", unshared);
} else if (type == ManagedState::MANAGED_TYPE_DEVICE) {
NET_LOG_DEBUG("DeviceListChanged",
base::StringPrintf("Size:%" PRIuS, device_list_.size()));