From 17510161ac71e7492c3bb2e979fcfca36ade5696 Mon Sep 17 00:00:00 2001 From: hsuvictor Date: Wed, 27 Mar 2019 15:13:03 +0800 Subject: [PATCH] WifiMetrics: add histogram of passpoint provisioning Added histograms tracking the number of passpoint provisioning. Histograms are dimensioned on: Bug: 122542221 Test: atest WifiMetricsTest PasspointProvisionerTest PasspointManagerTest Change-Id: If71ed11c1898e210e08f694d85a931c811598c17 --- proto/src/wifi.proto | 108 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 107 insertions(+), 1 deletion(-) diff --git a/proto/src/wifi.proto b/proto/src/wifi.proto index fdbc2ac970982..15d30e463cc36 100644 --- a/proto/src/wifi.proto +++ b/proto/src/wifi.proto @@ -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; + } +}