diff options
author | Glen Kuhne <kuh@google.com> | 2016-10-05 17:22:35 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-10-05 17:22:35 +0000 |
commit | 2911c010f39f8925907df2a50c61a2542b601d5a (patch) | |
tree | 7d34a4cb7c015de35ec3ad14a5aac10a5a63095f /service | |
parent | ed67732404cca8272a09d78f046871176483fbed (diff) | |
parent | a96abb03c7e31ffae1e19faa24b12e55d270fa03 (diff) |
Merge "Wifi Metrics: dumpsys arg for clean output"
am: a96abb03c7
Change-Id: I512c12480686e45a09425d795f7659735e9f4663
Diffstat (limited to 'service')
-rw-r--r-- | service/java/com/android/server/wifi/WifiMetrics.java | 19 | ||||
-rw-r--r-- | service/java/com/android/server/wifi/WifiStateMachine.java | 7 |
2 files changed, 21 insertions, 5 deletions
diff --git a/service/java/com/android/server/wifi/WifiMetrics.java b/service/java/com/android/server/wifi/WifiMetrics.java index 83db6107e..d44acf45c 100644 --- a/service/java/com/android/server/wifi/WifiMetrics.java +++ b/service/java/com/android/server/wifi/WifiMetrics.java @@ -904,9 +904,11 @@ public class WifiMetrics { public static final String PROTO_DUMP_ARG = "wifiMetricsProto"; + public static final String CLEAN_DUMP_ARG = "clean"; + /** * Dump all WifiMetrics. Collects some metrics from ConfigStore, Settings and WifiManager - * at this time + * at this time. * * @param fd unused * @param pw PrintWriter for writing dump to @@ -914,9 +916,8 @@ public class WifiMetrics { */ public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { synchronized (mLock) { - pw.println("WifiMetrics:"); if (args.length > 0 && PROTO_DUMP_ARG.equals(args[0])) { - //Dump serialized WifiLog proto + // Dump serialized WifiLog proto consolidateProto(true); for (ConnectionEvent event : mConnectionEventList) { if (mCurrentConnectionEvent != event) { @@ -927,10 +928,18 @@ public class WifiMetrics { } byte[] wifiMetricsProto = WifiMetricsProto.WifiLog.toByteArray(mWifiLogProto); String metricsProtoDump = Base64.encodeToString(wifiMetricsProto, Base64.DEFAULT); - pw.println(metricsProtoDump); - pw.println("EndWifiMetrics"); + 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(); diff --git a/service/java/com/android/server/wifi/WifiStateMachine.java b/service/java/com/android/server/wifi/WifiStateMachine.java index 216eacd30..174d4ee35 100644 --- a/service/java/com/android/server/wifi/WifiStateMachine.java +++ b/service/java/com/android/server/wifi/WifiStateMachine.java @@ -2091,6 +2091,13 @@ public class WifiStateMachine extends StateMachine implements WifiNative.WifiRss @Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + if (args.length > 1 && WifiMetrics.PROTO_DUMP_ARG.equals(args[0]) + && WifiMetrics.CLEAN_DUMP_ARG.equals(args[1])) { + // Dump only wifi metrics serialized proto bytes (base64) + updateWifiMetrics(); + mWifiMetrics.dump(fd, pw, args); + return; + } super.dump(fd, pw, args); mSupplicantStateTracker.dump(fd, pw, args); pw.println("mLinkProperties " + mLinkProperties); |