shill: Metrics: Report AP Mode (Managed vs IBSS)
When a connection completes report the AP mode of the service.
This way we can track aggregate statistics of IBSS-mode connections.
BUG=chromium:260922
TEST=Unit test; connect to AP and look for "Network.Shill.Wifi.ApMode"
in chrome://histograms
Change-Id: I272ac04d7a1fa9479512e35ae844d31041a7694b
Reviewed-on: https://gerrit.chromium.org/gerrit/62347
Commit-Queue: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/metrics.h b/metrics.h
index 58a7eaf..91db769 100644
--- a/metrics.h
+++ b/metrics.h
@@ -129,6 +129,14 @@
kWiFiSecurityMax
};
+ enum WiFiApMode {
+ kWiFiApModeUnknown = 0,
+ kWiFiApModeManaged = 1,
+ kWiFiApModeAdHoc = 2,
+
+ kWiFiApModeMax
+ };
+
enum PortalResult {
kPortalResultSuccess = 0,
kPortalResultDNSFailure = 1,
@@ -257,6 +265,7 @@
static const int kMetricDisconnectMax;
static const int kMetricDisconnectMin;
static const int kMetricDisconnectNumBuckets;
+ static const char kMetricNetworkApMode[];
static const char kMetricNetworkChannel[];
static const int kMetricNetworkChannelMax;
static const char kMetricNetworkEapInnerProtocol[];
@@ -414,6 +423,9 @@
// Converts a flimflam security string into its UMA security enumerator.
static WiFiSecurity WiFiSecurityStringToEnum(const std::string &security);
+ // Converts a flimflam AP mode string into its UMA AP mode enumerator.
+ static WiFiApMode WiFiApModeStringToEnum(const std::string &ap_mode);
+
// Converts a flimflam EAP outer protocol string into its UMA enumerator.
static EapOuterProtocol EapOuterProtocolStringToEnum(
const std::string &outer);