OSDN Git Service

WifiMetrics: add histogram of passpoint provisioning
authorhsuvictor <hsuvictor@google.com>
Wed, 27 Mar 2019 07:13:03 +0000 (15:13 +0800)
committerhsuvictor <hsuvictor@google.com>
Mon, 15 Apr 2019 03:35:13 +0000 (11:35 +0800)
Added histograms tracking the number of passpoint provisioning.
Histograms are dimensioned on: <failure code>

Bug: 122542221
Test: atest WifiMetricsTest PasspointProvisionerTest
PasspointManagerTest

Change-Id: If71ed11c1898e210e08f694d85a931c811598c17

proto/src/wifi.proto

index fdbc2ac..15d30e4 100644 (file)
@@ -545,6 +545,9 @@ message WifiLog {
 
   // Number of times WifiManager#enableNetwork is called.
   optional int32 num_enable_network_calls = 146;
+
+  // Passpoint provison metrics
+  optional PasspointProvisionStats passpoint_provision_stats = 147;
 }
 
 // Information that gets logged for every WiFi connection.
@@ -2533,4 +2536,107 @@ message WifiToggleStats {
 
   // Number of time Wi-Fi is turned off by normal apps
   optional int32 num_toggle_off_normal = 4;
-}
\ No newline at end of file
+}
+
+// Information about the Passpoint provision metrics.
+message PasspointProvisionStats {
+  enum ProvisionFailureCode {
+    // provisioning failure for unknown reason.
+    OSU_FAILURE_UNKNOWN = 0;
+
+    // The reason code for Provisioning Failure due to connection failure to OSU AP.
+    OSU_FAILURE_AP_CONNECTION = 1;
+
+    // The reason code for invalid server URL address.
+    OSU_FAILURE_SERVER_URL_INVALID = 2;
+
+    // The reason code for provisioning failure due to connection failure to the server.
+    OSU_FAILURE_SERVER_CONNECTION = 3;
+
+    // The reason code for provisioning failure due to invalid server certificate.
+    OSU_FAILURE_SERVER_VALIDATION = 4;
+
+    // The reason code for provisioning failure due to invalid service provider.
+    OSU_FAILURE_SERVICE_PROVIDER_VERIFICATION = 5;
+
+    // The reason code for provisioning failure when a provisioning flow is aborted.
+    OSU_FAILURE_PROVISIONING_ABORTED = 6;
+
+    // The reason code for provisioning failure when a provisioning flow is not possible.
+    OSU_FAILURE_PROVISIONING_NOT_AVAILABLE = 7;
+
+    // The reason code for provisioning failure due to invalid web url format for an OSU web page.
+    OSU_FAILURE_INVALID_URL_FORMAT_FOR_OSU = 8;
+
+    // The reason code for provisioning failure when a command received is not the expected command
+    // type.
+    OSU_FAILURE_UNEXPECTED_COMMAND_TYPE = 9;
+
+    // The reason code for provisioning failure when a SOAP message is not the expected message
+    // type.
+    OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_TYPE = 10;
+
+    // The reason code for provisioning failure when a SOAP message exchange fails.
+    OSU_FAILURE_SOAP_MESSAGE_EXCHANGE = 11;
+
+    // The reason code for provisioning failure when a redirect listener fails to start.
+    OSU_FAILURE_START_REDIRECT_LISTENER = 12;
+
+    // The reason code for provisioning failure when a redirect listener timed out to receive a HTTP
+    // redirect response.
+    OSU_FAILURE_TIMED_OUT_REDIRECT_LISTENER = 13;
+
+    // The reason code for provisioning failure when there is no OSU activity to listen to intent.
+    OSU_FAILURE_NO_OSU_ACTIVITY_FOUND = 14;
+
+    // The reason code for provisioning failure when the status of a SOAP message is not the
+    // expected message status.
+    OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_STATUS = 15;
+
+    // The reason code for provisioning failure when there is no PPS MO.
+    OSU_FAILURE_NO_PPS_MO = 16;
+
+    // The reason code for provisioning failure when there is no AAAServerTrustRoot node in a PPS
+    // MO.
+    OSU_FAILURE_NO_AAA_SERVER_TRUST_ROOT_NODE = 17;
+
+    // The reason code for provisioning failure when there is no TrustRoot node for remediation
+    // server in a PPS MO.
+    OSU_FAILURE_NO_REMEDIATION_SERVER_TRUST_ROOT_NODE = 18;
+
+    // The reason code for provisioning failure when there is no TrustRoot node for policy server in
+    // a PPS MO.
+    OSU_FAILURE_NO_POLICY_SERVER_TRUST_ROOT_NODE = 19;
+
+    // The reason code for provisioning failure when failing to retrieve trust root certificates
+    // used for validating server certificate for AAA, Remediation and Policy server.
+    OSU_FAILURE_RETRIEVE_TRUST_ROOT_CERTIFICATES = 20;
+
+    // The reason code for provisioning failure when there is no trust root certificate for AAA
+    // server.
+    OSU_FAILURE_NO_AAA_TRUST_ROOT_CERTIFICATE = 21;
+
+    // The reason code for provisioning failure when a {@link PasspointConfiguration} is failed to
+    // install.
+    OSU_FAILURE_ADD_PASSPOINT_CONFIGURATION = 22;
+
+    // The reason code for provisioning failure when an {@link OsuProvider} is not found for
+    // provisioning.
+    OSU_FAILURE_OSU_PROVIDER_NOT_FOUND = 23;
+  }
+
+  // Number of passpoint provisioning success
+  optional int32 num_provision_success = 1;
+
+  // Count for passpoint provisioning failure
+  repeated ProvisionFailureCount provision_failure_count = 2;
+
+  // Number of occurrences of a specific passpoint provision failure code
+  message ProvisionFailureCount {
+    // Failure code
+    optional ProvisionFailureCode failure_code = 1;
+
+    // Number of failure for the failure_code.
+    optional int32 count = 2;
+  }
+}