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

Commit cacb7f34 authored by David Su's avatar David Su Committed by Android (Google) Code Review
Browse files

Merge changes from topics "network-selection-metrics-2", "network-selection-metrics"

* changes:
  wifi.proto: Add candidate nominator and experiment to ConnectionEvent
  wifi.proto: Add fields for network selection metrics collection
parents 7ad5e8b7 21709bca
Loading
Loading
Loading
Loading
+65 −0
Original line number Diff line number Diff line
@@ -524,6 +524,9 @@ message WifiLog {

  // Link Probe metrics
  optional LinkProbeStats link_probe_stats = 139;

  // List of NetworkSelectionExperimentDecisions stats for each experiment
  repeated NetworkSelectionExperimentDecisions network_selection_experiment_decisions_list = 140;
}

// Information that gets logged for every WiFi connection.
@@ -651,6 +654,39 @@ message ConnectionEvent {
    HLF_UNWANTED = 4;
  }

  // Entity that recommended connecting to this network.
  enum ConnectionNominator {
    // Unknown nominator
    NOMINATOR_UNKNOWN = 0;

    // User selected network manually
    NOMINATOR_MANUAL = 1;

    // Saved network
    NOMINATOR_SAVED = 2;

    // Suggestion API
    NOMINATOR_SUGGESTION = 3;

    // Passpoint
    NOMINATOR_PASSPOINT = 4;

    // Carrier suggestion
    NOMINATOR_CARRIER = 5;

    // External scorer
    NOMINATOR_EXTERNAL_SCORED = 6;

    // Netrec
    NOMINATOR_NETREC = 7;

    // User connected choice override
    NOMINATOR_SAVED_USER_CONNECT_CHOICE = 8;

    // Open Network Available Pop-up
    NOMINATOR_OPEN_NETWORK_AVAILABLE = 9;
  }

  // Start time of the connection.
  optional int64 start_time_millis = 1;// [(datapol.semantic_type) = ST_TIMESTAMP];

@@ -680,6 +716,12 @@ message ConnectionEvent {

  // Connection is using locally generated random MAC address.
  optional bool use_randomized_mac = 10 [default = false];

  // Who chose to connect.
  optional ConnectionNominator connection_nominator = 11;

  // The currently running network selector when this connection event occurred.
  optional int32 network_selector_experiment_id = 12;
}

// Number of occurrences of a specific RSSI poll rssi value
@@ -2276,3 +2318,26 @@ message LinkProbeStats {
  // Counts the occurrences of error codes for failed link probes.
  repeated LinkProbeFailureReasonCount failure_reason_counts = 8;
}

// Stores the decisions that were made by a experiment when compared against another experiment
message NetworkSelectionExperimentDecisions {
  // the id of one experiment
  optional int32 experiment1_id = 1;

  // the id of the other experiment
  optional int32 experiment2_id = 2;

  // Counts occurrences of the number of network choices there were when experiment1 makes the
  // same network selection as experiment2.
  // The keys are the number of network choices, and the values are the number of occurrences of
  // this number of network choices when exp1 and exp2 make the same network selection.
  repeated MapEntryInt32Int32 same_selection_num_choices_counter = 3;

  // Counts occurrences of the number of network choices there were when experiment1 makes the
  // same network selection as experiment2.
  // The keys are the number of network choices, and the values are the number of occurrences of
  // this number of network choices when exp1 and exp2 make different network selections.
  // Note that it is possible for the network selection to be different even when there only exists
  // a single network choice, since choosing not to connect to that network is a valid choice.
  repeated MapEntryInt32Int32 different_selection_num_choices_counter = 4;
}