Add metrics for effectiveness of wifi network selection.
Report number of auto connectable wifi services available when
auto connect is started for wifi.
Report number of BSSes associated with a wifi service when connecting
to that service.
BUG=chromium:230884
TEST=unittest, manual
1. Connect a peppy to GoogleGuest.
2. Browse to "chrome://histograms", and verify histogram for
Network.Shill.wifi.AvailableBSSesWhenConnect existed.
3. Verify GoogleGuest is in Preferred Network
4. Restart shill to start auto connect.
5. Browse to "chrome://histograms", and verify histogram for
Network.Shill.wifi.AutoConnectableServices existed.
Change-Id: I5315210944e8f5a5a2253562f680de8217963024
Reviewed-on: https://chromium-review.googlesource.com/193226
Reviewed-by: Peter Qiu <zqiu@chromium.org>
Tested-by: Peter Qiu <zqiu@chromium.org>
Commit-Queue: Peter Qiu <zqiu@chromium.org>
diff --git a/metrics.h b/metrics.h
index 2b0f35f..8a9aceb 100644
--- a/metrics.h
+++ b/metrics.h
@@ -436,6 +436,19 @@
static const int kMetricExpiredLeaseLengthSecondsMin;
static const int kMetricExpiredLeaseLengthSecondsNumBuckets;
+ // Number of wifi services available when auto-connect is initiated.
+ static const char kMetricWifiAutoConnectableServices[];
+ static const int kMetricWifiAutoConnectableServicesMax;
+ static const int kMetricWifiAutoConnectableServicesMin;
+ static const int kMetricWifiAutoConnectableServicesNumBuckets;
+
+ // Number of BSSes available for a wifi service when we attempt to connect
+ // to that service.
+ static const char kMetricWifiAvailableBSSes[];
+ static const int kMetricWifiAvailableBSSesMax;
+ static const int kMetricWifiAvailableBSSesMin;
+ static const int kMetricWifiAvailableBSSesNumBuckets;
+
explicit Metrics(EventDispatcher *dispatcher);
virtual ~Metrics();
@@ -593,6 +606,14 @@
// out-of-credits.
void NotifyCellularOutOfCredits(Metrics::CellularOutOfCreditsReason reason);
+ // Notifies this object about number of wifi services available for auto
+ // connect when auto-connect is initiated.
+ virtual void NotifyWifiAutoConnectableServices(int num_services);
+
+ // Notifies this object about number of BSSes available for a wifi service
+ // when attempt to connect to that service.
+ virtual void NotifyWifiAvailableBSSes(int num_services);
+
// Notifies this object about a corrupted profile.
virtual void NotifyCorruptedProfile();