diff options
| author | 2018-04-13 20:29:22 +0000 | |
|---|---|---|
| committer | 2018-04-13 20:29:22 +0000 | |
| commit | 0e100add4829afc05ef43dbaae69cb4625ed3804 (patch) | |
| tree | ebf87f75e3b73c5d76a24722f1c4097898eece02 | |
| parent | a668c663019dcabe62d1f667ec5402806a22b0a8 (diff) | |
| parent | 4ec8dd37e4b6d2cbbd5de0b1b555341a99605ca1 (diff) | |
Merge "[RTT] Wi-Fi RTT Metrics" into pi-dev
| -rw-r--r-- | proto/src/wifi.proto | 162 | 
1 files changed, 162 insertions, 0 deletions
| diff --git a/proto/src/wifi.proto b/proto/src/wifi.proto index 595a1d9ec96b..9a8361eae7e5 100644 --- a/proto/src/wifi.proto +++ b/proto/src/wifi.proto @@ -432,6 +432,9 @@ message WifiLog {    // Number of times DFS channel scans are requested in single scan requests.    optional int32 num_oneshot_has_dfs_channel_scans = 109; + +  // Wi-Fi RTT metrics +  optional WifiRttLog wifi_rtt_log = 110;  }  // Information that gets logged for every WiFi connection. @@ -1313,3 +1316,162 @@ message WifiWakeStats {    // Number of Wifi Wake sessions that have recorded wakeup events.    optional int32 num_wakeups = 4;  } + +// Metrics for Wi-Fi RTT +message WifiRttLog { +  // Number of RTT request API calls +  optional int32 num_requests = 1; + +  // Histogram of RTT operation overall status +  repeated RttOverallStatusHistogramBucket histogram_overall_status = 2; + +  // RTT to Access Points metrics +  optional RttToPeerLog rtt_to_ap = 3; + +  // RTT to Wi-Fi Aware peers metrics +  optional RttToPeerLog rtt_to_aware = 4; + +  // Metrics for a RTT to Peer (peer = AP or Wi-Fi Aware) +  message RttToPeerLog { +    // Total number of API calls +    optional int32 num_requests = 1; + +    // Total number of individual requests +    optional int32 num_individual_requests = 2; + +    // Total number of apps which requested RTT +    optional int32 num_apps = 3; + +    // Histogram of total number of RTT requests by an app (WifiRttManager#startRanging) +    repeated HistogramBucket histogram_num_requests_per_app = 4; + +    // Histogram of number of peers in a single RTT request (RangingRequest entries) +    repeated HistogramBucket histogram_num_peers_per_request = 5; + +    // Histogram of status of individual RTT operations (RangingResult entries) +    repeated RttIndividualStatusHistogramBucket histogram_individual_status = 6; + +    // Histogram of measured distances (RangingResult entries) +    repeated HistogramBucket histogram_distance = 7; + +    // Histogram of interval of RTT requests by an app (WifiRttManager#startRanging) +    repeated HistogramBucket histogram_request_interval_ms = 8; +  } + +    // Histogram bucket for Wi-Fi RTT logs. Range is [start, end) +  message HistogramBucket { +    // lower range of the bucket (inclusive) +    optional int64 start = 1; + +    // upper range of the bucket (exclusive) +    optional int64 end = 2; + +    // number of samples in the bucket +    optional int32 count = 3; +  } + +  // Status codes for overall RTT operation +  enum RttOverallStatusTypeEnum { +    // constant to be used by proto +    OVERALL_UNKNOWN = 0; + +    // RTT operation succeeded (individual results may still fail) +    OVERALL_SUCCESS = 1; + +    // RTT operation failed (unspecified reason) +    OVERALL_FAIL = 2; + +    // RTT operation failed since RTT was not available (e.g. Airplane mode) +    OVERALL_RTT_NOT_AVAILABLE = 3; + +    // RTT operation timed-out: didn't receive response from HAL in expected time +    OVERALL_TIMEOUT = 4; + +    // RTT operation aborted since the app is spamming the service +    OVERALL_THROTTLE = 5; + +    // RTT request to HAL received immediate failure +    OVERALL_HAL_FAILURE = 6; + +    // RTT to Wi-Fi Aware peer using PeerHandle failed to get a MAC address translation +    OVERALL_AWARE_TRANSLATION_FAILURE = 7; + +    // RTT operation failed due to missing Location permission (post execution) +    OVERALL_LOCATION_PERMISSION_MISSING = 8; +  } + +  // Status codes for individual RTT operation +  enum RttIndividualStatusTypeEnum { +    // constant to be used by proto +    UNKNOWN = 0; + +    // RTT operation succeeded +    SUCCESS = 1; + +    // RTT failure: generic reason (no further information) +    FAILURE = 2; + +    // Target STA does not respond to request +    FAIL_NO_RSP = 3; + +    // Request rejected. Applies to 2-sided RTT only +    FAIL_REJECTED = 4; + +    // Operation not scheduled +    FAIL_NOT_SCHEDULED_YET = 5; + +    // Timing measurement times out +    FAIL_TM_TIMEOUT = 6; + +    // Target on different channel, cannot range +    FAIL_AP_ON_DIFF_CHANNEL = 7; + +    // Ranging not supported +    FAIL_NO_CAPABILITY = 8; + +    // Request aborted for unknown reason +    ABORTED = 9; + +    // Invalid T1-T4 timestamp +    FAIL_INVALID_TS = 10; + +    // 11mc protocol failed +    FAIL_PROTOCOL = 11; + +    // Request could not be scheduled +    FAIL_SCHEDULE = 12; + +    // Responder cannot collaborate at time of request +    FAIL_BUSY_TRY_LATER = 13; + +    // Bad request args +    INVALID_REQ = 14; + +    // WiFi not enabled +    NO_WIFI = 15; + +    // Responder overrides param info, cannot range with new params +    FAIL_FTM_PARAM_OVERRIDE = 16; + +    // HAL did not provide a result to a framework request +    MISSING_RESULT = 17; +  } + +  // Histogram bucket for Wi-Fi RTT overall operation status +  message RttOverallStatusHistogramBucket { +    // status type defining the bucket +    optional RttOverallStatusTypeEnum status_type = 1; + +    // number of samples in the bucket +    optional int32 count = 2; +  } + +  // Histogram bucket for Wi-Fi RTT individual operation status +  message RttIndividualStatusHistogramBucket { +    // status type defining the bucket +    optional RttIndividualStatusTypeEnum status_type = 1; + +    // number of samples in the bucket +    optional int32 count = 2; +  } +} |