summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorGlen Kuhne <kuh@google.com>2016-10-05 17:22:35 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-10-05 17:22:35 +0000
commit2911c010f39f8925907df2a50c61a2542b601d5a (patch)
tree7d34a4cb7c015de35ec3ad14a5aac10a5a63095f /service
parented67732404cca8272a09d78f046871176483fbed (diff)
parenta96abb03c7e31ffae1e19faa24b12e55d270fa03 (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.java19
-rw-r--r--service/java/com/android/server/wifi/WifiStateMachine.java7
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);