Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 664e0d66 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Wifi Usability Metrics Proto Update"

parents 5a610cb7 411cab97
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -9910,6 +9910,31 @@ public final class Settings {
        public static final String WIFI_SCORE_PARAMS =
                "wifi_score_params";
        /**
         * Setting to enable logging WifiIsUnusableEvent in metrics
         * which gets triggered when wifi becomes unusable.
         * Disabled by default, and setting it to 1 will enable it.
         * @hide
         */
        public static final String WIFI_IS_UNUSABLE_EVENT_METRICS_ENABLED =
                "wifi_is_unusable_event_metrics_enabled";
        /**
         * The minimum number of txBad the framework has to observe
         * to trigger a wifi data stall.
         * @hide
         */
        public static final String WIFI_DATA_STALL_MIN_TX_BAD =
                "wifi_data_stall_min_tx_bad";
        /**
         * The minimum number of txSuccess the framework has to observe
         * to trigger a wifi data stall when rxSuccess is 0.
         * @hide
         */
        public static final String WIFI_DATA_STALL_MIN_TX_SUCCESS_WITHOUT_RX =
                "wifi_data_stall_min_tx_success_without_rx";
       /**
        * The maximum number of times we will retry a connection to an access
        * point for which we have failed in acquiring an IP address from DHCP.
+3 −0
Original line number Diff line number Diff line
@@ -459,6 +459,8 @@ public class SettingsBackupTest {
                    Settings.Global.WIFI_BOUNCE_DELAY_OVERRIDE_MS,
                    Settings.Global.WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED,
                    Settings.Global.WIFI_COUNTRY_CODE,
                    Settings.Global.WIFI_DATA_STALL_MIN_TX_BAD,
                    Settings.Global.WIFI_DATA_STALL_MIN_TX_SUCCESS_WITHOUT_RX,
                    Settings.Global.WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN,
                    Settings.Global.WIFI_DISPLAY_CERTIFICATION_ON,
                    Settings.Global.WIFI_DISPLAY_ON,
@@ -468,6 +470,7 @@ public class SettingsBackupTest {
                    Settings.Global.WIFI_FRAMEWORK_SCAN_INTERVAL_MS,
                    Settings.Global.WIFI_FREQUENCY_BAND,
                    Settings.Global.WIFI_IDLE_MS,
                    Settings.Global.WIFI_IS_UNUSABLE_EVENT_METRICS_ENABLED,
                    Settings.Global.WIFI_MAX_DHCP_RETRY_COUNT,
                    Settings.Global.WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS,
                    Settings.Global.WIFI_NETWORK_SHOW_RSSI,
+77 −2
Original line number Diff line number Diff line
@@ -459,6 +459,13 @@ message WifiLog {

  // Data on wifi radio usage
  optional WifiRadioUsage wifi_radio_usage = 118;

  // Stores settings values used for metrics testing.
  optional ExperimentValues experiment_values = 119;

  // List of WifiIsUnusableEvents which get logged when we notice that WiFi is unusable.
  // Collected only when WIFI_IS_UNUSABLE_EVENT_METRICS_ENABLED Settings is enabled.
  repeated WifiIsUnusableEvent wifi_is_unusable_event_list = 120;
}

// Information that gets logged for every WiFi connection.
@@ -876,7 +883,7 @@ message StaEvent {
    STATE_INVALID = 12;
  }

  // Bit mask of all supplicant state changes that occured since the last event
  // Bit mask of all supplicant state changes that occurred since the last event
  optional uint32 supplicant_state_changes_bitmask = 9 [default = 0];

  // The number of milliseconds that have elapsed since the device booted
@@ -884,7 +891,7 @@ message StaEvent {

  optional FrameworkDisconnectReason framework_disconnect_reason = 11 [default = DISCONNECT_UNKNOWN];

  // Flag which indicates if an association rejection event occured due to a timeout
  // Flag which indicates if an association rejection event occurred due to a timeout
  optional bool association_timed_out = 12 [default = false];

  // Authentication failure reason, as reported by WifiManager (calculated from state & deauth code)
@@ -1514,3 +1521,71 @@ message WifiRadioUsage {
  // Total time for which the radio is awake due to scan.
  optional int64 scan_time_ms = 2;
}

message ExperimentValues {
  // Indicates if we are logging WifiIsUnusableEvent in metrics
  optional bool wifi_is_unusable_logging_enabled = 1;

  // Minimum number of txBad to trigger a data stall
  optional int32 wifi_data_stall_min_tx_bad = 2;

  // Minimum number of txSuccess to trigger a data stall
  // when rxSuccess is 0
  optional int32 wifi_data_stall_min_tx_success_without_rx = 3;
}

message WifiIsUnusableEvent {
  enum TriggerType {
    // Default/Invalid event
    TYPE_UNKNOWN = 0;

    // There is a data stall from tx failures
    TYPE_DATA_STALL_BAD_TX = 1;

    // There is a data stall from rx failures
    TYPE_DATA_STALL_TX_WITHOUT_RX = 2;

    // There is a data stall from both tx and rx failures
    TYPE_DATA_STALL_BOTH = 3;

    // Firmware generated an alert
    TYPE_FIRMWARE_ALERT = 4;
  }

  // What event triggered WifiIsUnusableEvent.
  optional TriggerType type = 1;

  // The timestamp at which this event occurred.
  // Measured in milliseconds that have elapsed since the device booted.
  optional int64 start_time_millis = 2;

  // NetworkAgent score of connected wifi.
  // Defaults to -1 if the score was never set.
  optional int32 last_score = 3 [default = -1];

  // Delta of successfully transmitted (ACKed) unicast data packets
  // between the last two WifiLinkLayerStats.
  optional int64 tx_success_delta = 4;

  // Delta of transmitted unicast data retry packets
  // between the last two WifiLinkLayerStats.
  optional int64 tx_retries_delta = 5;

  // Delta of lost (not ACKed) transmitted unicast data packets
  // between the last two WifiLinkLayerStats.
  optional int64 tx_bad_delta = 6;

  // Delta of received unicast data packets
  // between the last two WifiLinkLayerStats.
  optional int64 rx_success_delta = 7;

  // Time in millisecond between the last two WifiLinkLayerStats.
  optional int64 packet_update_time_delta = 8;

  // The timestamp at which the last WifiLinkLayerStats was updated.
  // Measured in milliseconds that have elapsed since the device booted.
  optional int64 last_link_layer_stats_update_time = 9;

  // Firmware alert code. Only valid when the event was triggered by a firmware alert, otherwise -1.
  optional int32 firmware_alert_code = 10 [default = -1];
}
 No newline at end of file