diff options
author | Roshan Pius <rpius@google.com> | 2019-03-01 10:33:38 -0800 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2019-03-06 10:11:24 -0800 |
commit | 308adb4a09f544bdc8260031286e400338ce892b (patch) | |
tree | 2cea668da2b750de905e567d57aacb1e31f0ec22 /service/java/com/android/server/wifi/WifiNetworkFactory.java | |
parent | 1e06b4a69e237bb570fc925c60227de60598d4f3 (diff) | |
download | android_frameworks_opt_net_wifi-308adb4a09f544bdc8260031286e400338ce892b.tar.gz android_frameworks_opt_net_wifi-308adb4a09f544bdc8260031286e400338ce892b.tar.bz2 android_frameworks_opt_net_wifi-308adb4a09f544bdc8260031286e400338ce892b.zip |
WifiMetrics: Report metrics for new API surfaces
Changes to report metrics for the new API surface usage.
Also,
a) Added a new maxSize field in WifiNetworkSuggestionsManager to track
the maximum size of suggestion list ever for that app.
b) Record the nominator names in existing connection event metrics.
Bug: 123362619
Bug: 123362779
Test: adb shell dumpsys wifi wifiMetricsProto
Test: ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: I801ce489941259be9185e3dbc1133ff04bae5c71
Diffstat (limited to 'service/java/com/android/server/wifi/WifiNetworkFactory.java')
-rw-r--r-- | service/java/com/android/server/wifi/WifiNetworkFactory.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/service/java/com/android/server/wifi/WifiNetworkFactory.java b/service/java/com/android/server/wifi/WifiNetworkFactory.java index cb5bec8a6..057fc99ac 100644 --- a/service/java/com/android/server/wifi/WifiNetworkFactory.java +++ b/service/java/com/android/server/wifi/WifiNetworkFactory.java @@ -104,6 +104,7 @@ public class WifiNetworkFactory extends NetworkFactory { private final WifiConfigManager mWifiConfigManager; private final WifiConfigStore mWifiConfigStore; private final WifiPermissionsUtil mWifiPermissionsUtil; + private final WifiMetrics mWifiMetrics; private final WifiScanner.ScanSettings mScanSettings; private final NetworkFactoryScanListener mScanListener; private final PeriodicScanAlarmListener mPeriodicScanTimerListener; @@ -220,6 +221,12 @@ public class WifiNetworkFactory extends NetworkFactory { } List<ScanResult> matchedScanResults = getNetworksMatchingActiveNetworkRequest(scanResults); + if (mActiveMatchedScanResults == null) { + // only note the first match size in metrics (chances of this changing in further + // scans is pretty low) + mWifiMetrics.incrementNetworkRequestApiMatchSizeHistogram( + matchedScanResults.size()); + } mActiveMatchedScanResults = matchedScanResults; ScanResult approvedScanResult = null; @@ -234,6 +241,7 @@ public class WifiNetworkFactory extends NetworkFactory { + "Triggering connect " + approvedScanResult); handleConnectToNetworkUserSelectionInternal( ScanResultUtil.createNetworkFromScanResult(approvedScanResult)); + mWifiMetrics.incrementNetworkRequestApiNumUserApprovalBypass(); // TODO (b/122658039): Post notification. } else { if (mVerboseLoggingEnabled) { @@ -357,7 +365,8 @@ public class WifiNetworkFactory extends NetworkFactory { WifiConnectivityManager connectivityManager, WifiConfigManager configManager, WifiConfigStore configStore, - WifiPermissionsUtil wifiPermissionsUtil) { + WifiPermissionsUtil wifiPermissionsUtil, + WifiMetrics wifiMetrics) { super(looper, context, TAG, nc); mContext = context; mActivityManager = activityManager; @@ -370,6 +379,7 @@ public class WifiNetworkFactory extends NetworkFactory { mWifiConfigManager = configManager; mWifiConfigStore = configStore; mWifiPermissionsUtil = wifiPermissionsUtil; + mWifiMetrics = wifiMetrics; // Create the scan settings. mScanSettings = new WifiScanner.ScanSettings(); mScanSettings.type = WifiScanner.TYPE_HIGH_ACCURACY; @@ -573,6 +583,7 @@ public class WifiNetworkFactory extends NetworkFactory { mActiveSpecificNetworkRequestSpecifier = new WifiNetworkSpecifier( wns.ssidPatternMatcher, wns.bssidPatternMatcher, wns.wifiConfiguration, wns.requestorUid, wns.requestorPackageName); + mWifiMetrics.incrementNetworkRequestApiNumRequest(); // Start UI to let the user grant/disallow this request from the app. startUi(); @@ -752,6 +763,7 @@ public class WifiNetworkFactory extends NetworkFactory { private void handleRejectUserSelection() { Log.w(TAG, "User dismissed notification, cancelling " + mActiveSpecificNetworkRequest); teardownForActiveRequest(); + mWifiMetrics.incrementNetworkRequestApiNumUserReject(); } private boolean isUserSelectedNetwork(WifiConfiguration config) { @@ -797,6 +809,7 @@ public class WifiNetworkFactory extends NetworkFactory { } // transition the request from "active" to "connected". setupForConnectedRequest(); + mWifiMetrics.incrementNetworkRequestApiNumConnectSuccess(); } /** @@ -1183,6 +1196,8 @@ public class WifiNetworkFactory extends NetworkFactory { if (approvedAccessPoints == null) { approvedAccessPoints = new HashSet<>(); mUserApprovedAccessPointMap.put(requestorPackageName, approvedAccessPoints); + // Note the new app in metrics. + mWifiMetrics.incrementNetworkRequestApiNumApps(); } if (mVerboseLoggingEnabled) { Log.v(TAG, "Adding " + newUserApprovedAccessPoints |