From 07ac7b74013417eba3ac212997f979d5272e658c Mon Sep 17 00:00:00 2001 From: Nate Jiang Date: Thu, 21 May 2020 16:06:06 -0700 Subject: [Metrics] Add metric for BSSID different between framework and FW Updated-PDD: TRUE Bug: 131613031 Test: atest com.android.server.wifi Change-Id: Ied3c92ad18b6503c901ad1240d00221e978fa717 --- service/java/com/android/server/wifi/ClientModeImpl.java | 4 ++++ service/java/com/android/server/wifi/WifiMetrics.java | 9 +++++++++ service/proto/src/metrics.proto | 3 +++ 3 files changed, 16 insertions(+) (limited to 'service') diff --git a/service/java/com/android/server/wifi/ClientModeImpl.java b/service/java/com/android/server/wifi/ClientModeImpl.java index e36d379c4..e1c9850bf 100644 --- a/service/java/com/android/server/wifi/ClientModeImpl.java +++ b/service/java/com/android/server/wifi/ClientModeImpl.java @@ -2983,6 +2983,10 @@ public class ClientModeImpl extends StateMachine { mNetworkFactory.handleConnectionAttemptEnded(level2FailureCode, configuration); mWifiNetworkSuggestionsManager.handleConnectionAttemptEnded( level2FailureCode, configuration, getCurrentBSSID()); + ScanResult candidate = configuration.getNetworkSelectionStatus().getCandidate(); + if (candidate != null && !TextUtils.equals(candidate.BSSID, getCurrentBSSID())) { + mWifiMetrics.incrementNumBssidDifferentSelectionBetweenFrameworkAndFirmware(); + } } handleConnectionAttemptEndForDiagnostics(level2FailureCode); } diff --git a/service/java/com/android/server/wifi/WifiMetrics.java b/service/java/com/android/server/wifi/WifiMetrics.java index 383659e4d..6d44deca8 100644 --- a/service/java/com/android/server/wifi/WifiMetrics.java +++ b/service/java/com/android/server/wifi/WifiMetrics.java @@ -6448,4 +6448,13 @@ public class WifiMetrics { public void noteSoftApClientBlocked(int maxClient) { mSoftApConfigLimitationMetrics.maxClientSettingWhenReachHistogram.increment(maxClient); } + + /** + * Increment number of connection with different BSSID between framework and firmware selection. + */ + public void incrementNumBssidDifferentSelectionBetweenFrameworkAndFirmware() { + synchronized (mLock) { + mWifiLogProto.numBssidDifferentSelectionBetweenFrameworkAndFirmware++; + } + } } diff --git a/service/proto/src/metrics.proto b/service/proto/src/metrics.proto index ad52af1f4..8b2b9ce0b 100644 --- a/service/proto/src/metrics.proto +++ b/service/proto/src/metrics.proto @@ -706,6 +706,9 @@ message WifiLog { // User reaction to the carrier or suggestion app approval UI. optional UserReactionToApprovalUiEvent user_reaction_to_approval_ui_event = 198; + + // Number of connection with different BSSID between framework and firmware selection. + optional int32 num_bssid_different_selection_between_framework_and_firmware = 199; } // Information that gets logged for every WiFi connection. -- cgit v1.2.3