shill: VPNDriver: Emit UMA metrics for VPN Authentication
Whenever an L2TP-IPSec or OpenVPN connection completes, report
authentication metrics to UMA.
BUG=chromium-os:39424
TEST=Unit tests
Change-Id: Ia5fef6d432e591f6f2ec18f59c529021f42719e5
Reviewed-on: https://gerrit.chromium.org/gerrit/44504
Reviewed-by: Darin Petkov <petkov@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/metrics.h b/metrics.h
index 9ed5ec5..d1af070 100644
--- a/metrics.h
+++ b/metrics.h
@@ -202,6 +202,32 @@
kCorruptedProfileMax
};
+ enum VpnDriver {
+ kVpnDriverOpenVpn = 0,
+ kVpnDriverL2tpIpsec = 1,
+ kVpnDriverMax
+ };
+
+ enum VpnRemoteAuthenticationType {
+ kVpnRemoteAuthenticationTypeOpenVpnDefault = 0,
+ kVpnRemoteAuthenticationTypeOpenVpnCertificate = 1,
+ kVpnRemoteAuthenticationTypeL2tpIpsecDefault = 2,
+ kVpnRemoteAuthenticationTypeL2tpIpsecCertificate = 3,
+ kVpnRemoteAuthenticationTypeL2tpIpsecPsk = 4,
+ kVpnRemoteAuthenticationTypeMax
+ };
+
+ enum VpnUserAuthenticationType {
+ kVpnUserAuthenticationTypeOpenVpnNone = 0,
+ kVpnUserAuthenticationTypeOpenVpnCertificate = 1,
+ kVpnUserAuthenticationTypeOpenVpnUsernamePassword = 2,
+ kVpnUserAuthenticationTypeOpenVpnUsernamePasswordOtp = 3,
+ kVpnUserAuthenticationTypeL2tpIpsecNone = 4,
+ kVpnUserAuthenticationTypeL2tpIpsecCertificate = 5,
+ kVpnUserAuthenticationTypeL2tpIpsecUsernamePassword = 6,
+ kVpnUserAuthenticationTypeMax
+ };
+
static const char kMetricDisconnect[];
static const int kMetricDisconnectMax;
static const int kMetricDisconnectMin;
@@ -334,6 +360,14 @@
// Profile statistics.
static const char kMetricCorruptedProfile[];
+ // VPN connection statistics.
+ static const char kMetricVpnDriver[];
+ static const int kMetricVpnDriverMax;
+ static const char kMetricVpnRemoteAuthenticationType[];
+ static const int kMetricVpnRemoteAuthenticationTypeMax;
+ static const char kMetricVpnUserAuthenticationType[];
+ static const int kMetricVpnUserAuthenticationTypeMax;
+
explicit Metrics(EventDispatcher *dispatcher);
virtual ~Metrics();