in com/android/server/wifi/WifiMetrics.java [1791:2155]
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
synchronized (mLock) {
consolidateScoringParams();
if (args != null && args.length > 0 && PROTO_DUMP_ARG.equals(args[0])) {
// Dump serialized WifiLog proto
consolidateProto(true);
for (ConnectionEvent event : mConnectionEventList) {
if (mCurrentConnectionEvent != event) {
//indicate that automatic bug report has been taken for all valid
//connection events
event.mConnectionEvent.automaticBugReportTaken = true;
}
}
byte[] wifiMetricsProto = WifiMetricsProto.WifiLog.toByteArray(mWifiLogProto);
String metricsProtoDump = Base64.encodeToString(wifiMetricsProto, Base64.DEFAULT);
if (args.length > 1 && CLEAN_DUMP_ARG.equals(args[1])) {
// Output metrics proto bytes (base64) and nothing else
pw.print(metricsProtoDump);
} else {
// Tag the start and end of the metrics proto bytes
pw.println("WifiMetrics:");
pw.println(metricsProtoDump);
pw.println("EndWifiMetrics");
}
clear();
} else {
pw.println("WifiMetrics:");
pw.println("mConnectionEvents:");
for (ConnectionEvent event : mConnectionEventList) {
String eventLine = event.toString();
if (event == mCurrentConnectionEvent) {
eventLine += "CURRENTLY OPEN EVENT";
}
pw.println(eventLine);
}
pw.println("mWifiLogProto.numSavedNetworks=" + mWifiLogProto.numSavedNetworks);
pw.println("mWifiLogProto.numOpenNetworks=" + mWifiLogProto.numOpenNetworks);
pw.println("mWifiLogProto.numPersonalNetworks="
+ mWifiLogProto.numPersonalNetworks);
pw.println("mWifiLogProto.numEnterpriseNetworks="
+ mWifiLogProto.numEnterpriseNetworks);
pw.println("mWifiLogProto.numHiddenNetworks=" + mWifiLogProto.numHiddenNetworks);
pw.println("mWifiLogProto.numPasspointNetworks="
+ mWifiLogProto.numPasspointNetworks);
pw.println("mWifiLogProto.isLocationEnabled=" + mWifiLogProto.isLocationEnabled);
pw.println("mWifiLogProto.isScanningAlwaysEnabled="
+ mWifiLogProto.isScanningAlwaysEnabled);
pw.println("mWifiLogProto.numNetworksAddedByUser="
+ mWifiLogProto.numNetworksAddedByUser);
pw.println("mWifiLogProto.numNetworksAddedByApps="
+ mWifiLogProto.numNetworksAddedByApps);
pw.println("mWifiLogProto.numNonEmptyScanResults="
+ mWifiLogProto.numNonEmptyScanResults);
pw.println("mWifiLogProto.numEmptyScanResults="
+ mWifiLogProto.numEmptyScanResults);
pw.println("mWifiLogProto.numConnecitvityOneshotScans="
+ mWifiLogProto.numConnectivityOneshotScans);
pw.println("mWifiLogProto.numOneshotScans="
+ mWifiLogProto.numOneshotScans);
pw.println("mWifiLogProto.numBackgroundScans="
+ mWifiLogProto.numBackgroundScans);
pw.println("mWifiLogProto.numExternalAppOneshotScanRequests="
+ mWifiLogProto.numExternalAppOneshotScanRequests);
pw.println("mWifiLogProto.numExternalForegroundAppOneshotScanRequestsThrottled="
+ mWifiLogProto.numExternalForegroundAppOneshotScanRequestsThrottled);
pw.println("mWifiLogProto.numExternalBackgroundAppOneshotScanRequestsThrottled="
+ mWifiLogProto.numExternalBackgroundAppOneshotScanRequestsThrottled);
pw.println("mScanReturnEntries:");
pw.println(" SCAN_UNKNOWN: " + getScanReturnEntry(
WifiMetricsProto.WifiLog.SCAN_UNKNOWN));
pw.println(" SCAN_SUCCESS: " + getScanReturnEntry(
WifiMetricsProto.WifiLog.SCAN_SUCCESS));
pw.println(" SCAN_FAILURE_INTERRUPTED: " + getScanReturnEntry(
WifiMetricsProto.WifiLog.SCAN_FAILURE_INTERRUPTED));
pw.println(" SCAN_FAILURE_INVALID_CONFIGURATION: " + getScanReturnEntry(
WifiMetricsProto.WifiLog.SCAN_FAILURE_INVALID_CONFIGURATION));
pw.println(" FAILURE_WIFI_DISABLED: " + getScanReturnEntry(
WifiMetricsProto.WifiLog.FAILURE_WIFI_DISABLED));
pw.println("mSystemStateEntries: <state><screenOn> : <scansInitiated>");
pw.println(" WIFI_UNKNOWN ON: "
+ getSystemStateCount(WifiMetricsProto.WifiLog.WIFI_UNKNOWN, true));
pw.println(" WIFI_DISABLED ON: "
+ getSystemStateCount(WifiMetricsProto.WifiLog.WIFI_DISABLED, true));
pw.println(" WIFI_DISCONNECTED ON: "
+ getSystemStateCount(WifiMetricsProto.WifiLog.WIFI_DISCONNECTED, true));
pw.println(" WIFI_ASSOCIATED ON: "
+ getSystemStateCount(WifiMetricsProto.WifiLog.WIFI_ASSOCIATED, true));
pw.println(" WIFI_UNKNOWN OFF: "
+ getSystemStateCount(WifiMetricsProto.WifiLog.WIFI_UNKNOWN, false));
pw.println(" WIFI_DISABLED OFF: "
+ getSystemStateCount(WifiMetricsProto.WifiLog.WIFI_DISABLED, false));
pw.println(" WIFI_DISCONNECTED OFF: "
+ getSystemStateCount(WifiMetricsProto.WifiLog.WIFI_DISCONNECTED, false));
pw.println(" WIFI_ASSOCIATED OFF: "
+ getSystemStateCount(WifiMetricsProto.WifiLog.WIFI_ASSOCIATED, false));
pw.println("mWifiLogProto.numConnectivityWatchdogPnoGood="
+ mWifiLogProto.numConnectivityWatchdogPnoGood);
pw.println("mWifiLogProto.numConnectivityWatchdogPnoBad="
+ mWifiLogProto.numConnectivityWatchdogPnoBad);
pw.println("mWifiLogProto.numConnectivityWatchdogBackgroundGood="
+ mWifiLogProto.numConnectivityWatchdogBackgroundGood);
pw.println("mWifiLogProto.numConnectivityWatchdogBackgroundBad="
+ mWifiLogProto.numConnectivityWatchdogBackgroundBad);
pw.println("mWifiLogProto.numLastResortWatchdogTriggers="
+ mWifiLogProto.numLastResortWatchdogTriggers);
pw.println("mWifiLogProto.numLastResortWatchdogBadAssociationNetworksTotal="
+ mWifiLogProto.numLastResortWatchdogBadAssociationNetworksTotal);
pw.println("mWifiLogProto.numLastResortWatchdogBadAuthenticationNetworksTotal="
+ mWifiLogProto.numLastResortWatchdogBadAuthenticationNetworksTotal);
pw.println("mWifiLogProto.numLastResortWatchdogBadDhcpNetworksTotal="
+ mWifiLogProto.numLastResortWatchdogBadDhcpNetworksTotal);
pw.println("mWifiLogProto.numLastResortWatchdogBadOtherNetworksTotal="
+ mWifiLogProto.numLastResortWatchdogBadOtherNetworksTotal);
pw.println("mWifiLogProto.numLastResortWatchdogAvailableNetworksTotal="
+ mWifiLogProto.numLastResortWatchdogAvailableNetworksTotal);
pw.println("mWifiLogProto.numLastResortWatchdogTriggersWithBadAssociation="
+ mWifiLogProto.numLastResortWatchdogTriggersWithBadAssociation);
pw.println("mWifiLogProto.numLastResortWatchdogTriggersWithBadAuthentication="
+ mWifiLogProto.numLastResortWatchdogTriggersWithBadAuthentication);
pw.println("mWifiLogProto.numLastResortWatchdogTriggersWithBadDhcp="
+ mWifiLogProto.numLastResortWatchdogTriggersWithBadDhcp);
pw.println("mWifiLogProto.numLastResortWatchdogTriggersWithBadOther="
+ mWifiLogProto.numLastResortWatchdogTriggersWithBadOther);
pw.println("mWifiLogProto.numLastResortWatchdogSuccesses="
+ mWifiLogProto.numLastResortWatchdogSuccesses);
pw.println("mWifiLogProto.recordDurationSec="
+ ((mClock.getElapsedSinceBootMillis() / 1000) - mRecordStartTimeSec));
try {
JSONObject rssiMap = new JSONObject();
for (Map.Entry<Integer, SparseIntArray> entry : mRssiPollCountsMap.entrySet()) {
int frequency = entry.getKey();
final SparseIntArray histogram = entry.getValue();
JSONArray histogramElements = new JSONArray();
for (int i = MIN_RSSI_POLL; i <= MAX_RSSI_POLL; i++) {
int count = histogram.get(i);
if (count == 0) {
continue;
}
JSONObject histogramElement = new JSONObject();
histogramElement.put(Integer.toString(i), count);
histogramElements.put(histogramElement);
}
rssiMap.put(Integer.toString(frequency), histogramElements);
}
pw.println("mWifiLogProto.rssiPollCount: " + rssiMap.toString());
} catch (JSONException e) {
pw.println("JSONException occurred: " + e.getMessage());
}
pw.println("mWifiLogProto.rssiPollDeltaCount: Printing counts for ["
+ MIN_RSSI_DELTA + ", " + MAX_RSSI_DELTA + "]");
StringBuilder sb = new StringBuilder();
for (int i = MIN_RSSI_DELTA; i <= MAX_RSSI_DELTA; i++) {
sb.append(mRssiDeltaCounts.get(i) + " ");
}
pw.println(" " + sb.toString());
pw.print("mWifiLogProto.alertReasonCounts=");
sb.setLength(0);
for (int i = WifiLoggerHal.WIFI_ALERT_REASON_MIN;
i <= WifiLoggerHal.WIFI_ALERT_REASON_MAX; i++) {
int count = mWifiAlertReasonCounts.get(i);
if (count > 0) {
sb.append("(" + i + "," + count + "),");
}
}
if (sb.length() > 1) {
sb.setLength(sb.length() - 1); // strip trailing comma
pw.println(sb.toString());
} else {
pw.println("()");
}
pw.println("mWifiLogProto.numTotalScanResults="
+ mWifiLogProto.numTotalScanResults);
pw.println("mWifiLogProto.numOpenNetworkScanResults="
+ mWifiLogProto.numOpenNetworkScanResults);
pw.println("mWifiLogProto.numPersonalNetworkScanResults="
+ mWifiLogProto.numPersonalNetworkScanResults);
pw.println("mWifiLogProto.numEnterpriseNetworkScanResults="
+ mWifiLogProto.numEnterpriseNetworkScanResults);
pw.println("mWifiLogProto.numHiddenNetworkScanResults="
+ mWifiLogProto.numHiddenNetworkScanResults);
pw.println("mWifiLogProto.numHotspot2R1NetworkScanResults="
+ mWifiLogProto.numHotspot2R1NetworkScanResults);
pw.println("mWifiLogProto.numHotspot2R2NetworkScanResults="
+ mWifiLogProto.numHotspot2R2NetworkScanResults);
pw.println("mWifiLogProto.numScans=" + mWifiLogProto.numScans);
pw.println("mWifiLogProto.WifiScoreCount: [" + MIN_WIFI_SCORE + ", "
+ MAX_WIFI_SCORE + "]");
for (int i = 0; i <= MAX_WIFI_SCORE; i++) {
pw.print(mWifiScoreCounts.get(i) + " ");
}
pw.println(); // add a line after wifi scores
pw.println("mWifiLogProto.SoftApManagerReturnCodeCounts:");
pw.println(" SUCCESS: " + mSoftApManagerReturnCodeCounts.get(
WifiMetricsProto.SoftApReturnCodeCount.SOFT_AP_STARTED_SUCCESSFULLY));
pw.println(" FAILED_GENERAL_ERROR: " + mSoftApManagerReturnCodeCounts.get(
WifiMetricsProto.SoftApReturnCodeCount.SOFT_AP_FAILED_GENERAL_ERROR));
pw.println(" FAILED_NO_CHANNEL: " + mSoftApManagerReturnCodeCounts.get(
WifiMetricsProto.SoftApReturnCodeCount.SOFT_AP_FAILED_NO_CHANNEL));
pw.print("\n");
pw.println("mWifiLogProto.numHalCrashes="
+ mWifiLogProto.numHalCrashes);
pw.println("mWifiLogProto.numWificondCrashes="
+ mWifiLogProto.numWificondCrashes);
pw.println("mWifiLogProto.numSupplicantCrashes="
+ mWifiLogProto.numSupplicantCrashes);
pw.println("mWifiLogProto.numHostapdCrashes="
+ mWifiLogProto.numHostapdCrashes);
pw.println("mWifiLogProto.numSetupClientInterfaceFailureDueToHal="
+ mWifiLogProto.numSetupClientInterfaceFailureDueToHal);
pw.println("mWifiLogProto.numSetupClientInterfaceFailureDueToWificond="
+ mWifiLogProto.numSetupClientInterfaceFailureDueToWificond);
pw.println("mWifiLogProto.numSetupClientInterfaceFailureDueToSupplicant="
+ mWifiLogProto.numSetupClientInterfaceFailureDueToSupplicant);
pw.println("mWifiLogProto.numSetupSoftApInterfaceFailureDueToHal="
+ mWifiLogProto.numSetupSoftApInterfaceFailureDueToHal);
pw.println("mWifiLogProto.numSetupSoftApInterfaceFailureDueToWificond="
+ mWifiLogProto.numSetupSoftApInterfaceFailureDueToWificond);
pw.println("mWifiLogProto.numSetupSoftApInterfaceFailureDueToHostapd="
+ mWifiLogProto.numSetupSoftApInterfaceFailureDueToHostapd);
pw.println("StaEventList:");
for (StaEventWithTime event : mStaEventList) {
pw.println(event);
}
pw.println("mWifiLogProto.numPasspointProviders="
+ mWifiLogProto.numPasspointProviders);
pw.println("mWifiLogProto.numPasspointProviderInstallation="
+ mWifiLogProto.numPasspointProviderInstallation);
pw.println("mWifiLogProto.numPasspointProviderInstallSuccess="
+ mWifiLogProto.numPasspointProviderInstallSuccess);
pw.println("mWifiLogProto.numPasspointProviderUninstallation="
+ mWifiLogProto.numPasspointProviderUninstallation);
pw.println("mWifiLogProto.numPasspointProviderUninstallSuccess="
+ mWifiLogProto.numPasspointProviderUninstallSuccess);
pw.println("mWifiLogProto.numPasspointProvidersSuccessfullyConnected="
+ mWifiLogProto.numPasspointProvidersSuccessfullyConnected);
pw.println("mWifiLogProto.numRadioModeChangeToMcc="
+ mWifiLogProto.numRadioModeChangeToMcc);
pw.println("mWifiLogProto.numRadioModeChangeToScc="
+ mWifiLogProto.numRadioModeChangeToScc);
pw.println("mWifiLogProto.numRadioModeChangeToSbs="
+ mWifiLogProto.numRadioModeChangeToSbs);
pw.println("mWifiLogProto.numRadioModeChangeToDbs="
+ mWifiLogProto.numRadioModeChangeToDbs);
pw.println("mWifiLogProto.numSoftApUserBandPreferenceUnsatisfied="
+ mWifiLogProto.numSoftApUserBandPreferenceUnsatisfied);
pw.println("mTotalSsidsInScanHistogram:"
+ mTotalSsidsInScanHistogram.toString());
pw.println("mTotalBssidsInScanHistogram:"
+ mTotalBssidsInScanHistogram.toString());
pw.println("mAvailableOpenSsidsInScanHistogram:"
+ mAvailableOpenSsidsInScanHistogram.toString());
pw.println("mAvailableOpenBssidsInScanHistogram:"
+ mAvailableOpenBssidsInScanHistogram.toString());
pw.println("mAvailableSavedSsidsInScanHistogram:"
+ mAvailableSavedSsidsInScanHistogram.toString());
pw.println("mAvailableSavedBssidsInScanHistogram:"
+ mAvailableSavedBssidsInScanHistogram.toString());
pw.println("mAvailableOpenOrSavedSsidsInScanHistogram:"
+ mAvailableOpenOrSavedSsidsInScanHistogram.toString());
pw.println("mAvailableOpenOrSavedBssidsInScanHistogram:"
+ mAvailableOpenOrSavedBssidsInScanHistogram.toString());
pw.println("mAvailableSavedPasspointProviderProfilesInScanHistogram:"
+ mAvailableSavedPasspointProviderProfilesInScanHistogram.toString());
pw.println("mAvailableSavedPasspointProviderBssidsInScanHistogram:"
+ mAvailableSavedPasspointProviderBssidsInScanHistogram.toString());
pw.println("mWifiLogProto.partialAllSingleScanListenerResults="
+ mWifiLogProto.partialAllSingleScanListenerResults);
pw.println("mWifiLogProto.fullBandAllSingleScanListenerResults="
+ mWifiLogProto.fullBandAllSingleScanListenerResults);
pw.println("mWifiAwareMetrics:");
mWifiAwareMetrics.dump(fd, pw, args);
pw.println("mRttMetrics:");
mRttMetrics.dump(fd, pw, args);
pw.println("mPnoScanMetrics.numPnoScanAttempts="
+ mPnoScanMetrics.numPnoScanAttempts);
pw.println("mPnoScanMetrics.numPnoScanFailed="
+ mPnoScanMetrics.numPnoScanFailed);
pw.println("mPnoScanMetrics.numPnoScanStartedOverOffload="
+ mPnoScanMetrics.numPnoScanStartedOverOffload);
pw.println("mPnoScanMetrics.numPnoScanFailedOverOffload="
+ mPnoScanMetrics.numPnoScanFailedOverOffload);
pw.println("mPnoScanMetrics.numPnoFoundNetworkEvents="
+ mPnoScanMetrics.numPnoFoundNetworkEvents);
pw.println("mWifiLogProto.connectToNetworkNotificationCount="
+ mConnectToNetworkNotificationCount.toString());
pw.println("mWifiLogProto.connectToNetworkNotificationActionCount="
+ mConnectToNetworkNotificationActionCount.toString());
pw.println("mWifiLogProto.openNetworkRecommenderBlacklistSize="
+ mOpenNetworkRecommenderBlacklistSize);
pw.println("mWifiLogProto.isWifiNetworksAvailableNotificationOn="
+ mIsWifiNetworksAvailableNotificationOn);
pw.println("mWifiLogProto.numOpenNetworkRecommendationUpdates="
+ mNumOpenNetworkRecommendationUpdates);
pw.println("mWifiLogProto.numOpenNetworkConnectMessageFailedToSend="
+ mNumOpenNetworkConnectMessageFailedToSend);
pw.println("mWifiLogProto.observedHotspotR1ApInScanHistogram="
+ mObservedHotspotR1ApInScanHistogram);
pw.println("mWifiLogProto.observedHotspotR2ApInScanHistogram="
+ mObservedHotspotR2ApInScanHistogram);
pw.println("mWifiLogProto.observedHotspotR1EssInScanHistogram="
+ mObservedHotspotR1EssInScanHistogram);
pw.println("mWifiLogProto.observedHotspotR2EssInScanHistogram="
+ mObservedHotspotR2EssInScanHistogram);
pw.println("mWifiLogProto.observedHotspotR1ApsPerEssInScanHistogram="
+ mObservedHotspotR1ApsPerEssInScanHistogram);
pw.println("mWifiLogProto.observedHotspotR2ApsPerEssInScanHistogram="
+ mObservedHotspotR2ApsPerEssInScanHistogram);
pw.println("mWifiLogProto.observed80211mcSupportingApsInScanHistogram"
+ mObserved80211mcApInScanHistogram);
pw.println("mSoftApTetheredEvents:");
for (SoftApConnectedClientsEvent event : mSoftApEventListTethered) {
StringBuilder eventLine = new StringBuilder();
eventLine.append("event_type=" + event.eventType);
eventLine.append(",time_stamp_millis=" + event.timeStampMillis);
eventLine.append(",num_connected_clients=" + event.numConnectedClients);
eventLine.append(",channel_frequency=" + event.channelFrequency);
eventLine.append(",channel_bandwidth=" + event.channelBandwidth);
pw.println(eventLine.toString());
}
pw.println("mSoftApLocalOnlyEvents:");
for (SoftApConnectedClientsEvent event : mSoftApEventListLocalOnly) {
StringBuilder eventLine = new StringBuilder();
eventLine.append("event_type=" + event.eventType);
eventLine.append(",time_stamp_millis=" + event.timeStampMillis);
eventLine.append(",num_connected_clients=" + event.numConnectedClients);
eventLine.append(",channel_frequency=" + event.channelFrequency);
eventLine.append(",channel_bandwidth=" + event.channelBandwidth);
pw.println(eventLine.toString());
}
pw.println("mWpsMetrics.numWpsAttempts="
+ mWpsMetrics.numWpsAttempts);
pw.println("mWpsMetrics.numWpsSuccess="
+ mWpsMetrics.numWpsSuccess);
pw.println("mWpsMetrics.numWpsStartFailure="
+ mWpsMetrics.numWpsStartFailure);
pw.println("mWpsMetrics.numWpsOverlapFailure="
+ mWpsMetrics.numWpsOverlapFailure);
pw.println("mWpsMetrics.numWpsTimeoutFailure="
+ mWpsMetrics.numWpsTimeoutFailure);
pw.println("mWpsMetrics.numWpsOtherConnectionFailure="
+ mWpsMetrics.numWpsOtherConnectionFailure);
pw.println("mWpsMetrics.numWpsSupplicantFailure="
+ mWpsMetrics.numWpsSupplicantFailure);
pw.println("mWpsMetrics.numWpsCancellation="
+ mWpsMetrics.numWpsCancellation);
mWifiPowerMetrics.dump(pw);
mWifiWakeMetrics.dump(pw);
pw.println("mWifiLogProto.isMacRandomizationOn=" + mIsMacRandomizationOn);
pw.println("mWifiLogProto.scoreExperimentId=" + mWifiLogProto.scoreExperimentId);
}
}
}