Register ConnectivityService with dumpsys priorities
Register service with HIGH and NORMAL priority suppport. Dump network diagnostics as part of the HIGH priority bucket.
Test: adb shell setprop dumpstate.version "2.0-dev-priority-dumps" && \
adb bugreport ~/tmp_new.zip
Test: adb shell dumpsys --priority HIGH
Change-Id: I1ad263efbc264c3328e70dc9f7ddeb2d31bc4d41
This commit is contained in:
@@ -143,6 +143,7 @@ import com.android.server.connectivity.tethering.TetheringDependencies;
|
||||
import com.android.server.net.BaseNetworkObserver;
|
||||
import com.android.server.net.LockdownVpnTracker;
|
||||
import com.android.server.net.NetworkPolicyManagerInternal;
|
||||
import com.android.server.utils.PriorityDump;
|
||||
|
||||
import com.google.android.collect.Lists;
|
||||
|
||||
@@ -682,6 +683,28 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
}
|
||||
private LegacyTypeTracker mLegacyTypeTracker = new LegacyTypeTracker();
|
||||
|
||||
/**
|
||||
* Helper class which parses out priority arguments and dumps sections according to their
|
||||
* priority. If priority arguments are omitted, function calls the legacy dump command.
|
||||
*/
|
||||
private final PriorityDump.PriorityDumper mPriorityDumper = new PriorityDump.PriorityDumper() {
|
||||
@Override
|
||||
public void dumpHigh(FileDescriptor fd, PrintWriter pw, String[] args, boolean asProto) {
|
||||
doDump(fd, pw, new String[] {DIAG_ARG}, asProto);
|
||||
doDump(fd, pw, new String[] {SHORT_ARG}, asProto);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dumpNormal(FileDescriptor fd, PrintWriter pw, String[] args, boolean asProto) {
|
||||
doDump(fd, pw, args, asProto);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dump(FileDescriptor fd, PrintWriter pw, String[] args, boolean asProto) {
|
||||
doDump(fd, pw, args, asProto);
|
||||
}
|
||||
};
|
||||
|
||||
public ConnectivityService(Context context, INetworkManagementService netManager,
|
||||
INetworkStatsService statsService, INetworkPolicyManager policyManager) {
|
||||
this(context, netManager, statsService, policyManager, new IpConnectivityLog());
|
||||
@@ -1862,8 +1885,13 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|
||||
@Override
|
||||
protected void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
|
||||
PriorityDump.dump(mPriorityDumper, fd, writer, args);
|
||||
}
|
||||
|
||||
private void doDump(FileDescriptor fd, PrintWriter writer, String[] args, boolean asProto) {
|
||||
final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " ");
|
||||
if (!DumpUtils.checkDumpPermission(mContext, TAG, pw)) return;
|
||||
if (asProto) return;
|
||||
|
||||
if (argsContain(args, DIAG_ARG)) {
|
||||
dumpNetworkDiagnostics(pw);
|
||||
|
||||
Reference in New Issue
Block a user