Refactor IP connectivity event logging

am: be0c7651f6

Change-Id: I8de880edc4a8c7f12527218788cb44f263acb56f
This commit is contained in:
Hugo Benichi
2016-06-29 07:18:28 +00:00
committed by android-build-merger

View File

@@ -76,6 +76,7 @@ import android.net.RouteInfo;
import android.net.UidRange; import android.net.UidRange;
import android.net.Uri; import android.net.Uri;
import android.net.metrics.DefaultNetworkEvent; import android.net.metrics.DefaultNetworkEvent;
import android.net.metrics.IpConnectivityLog;
import android.net.metrics.NetworkEvent; import android.net.metrics.NetworkEvent;
import android.os.Binder; import android.os.Binder;
import android.os.Build; import android.os.Build;
@@ -454,6 +455,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
} }
} }
private final IpConnectivityLog mMetricsLog = new IpConnectivityLog();
/** /**
* Implements support for the legacy "one network per network type" model. * Implements support for the legacy "one network per network type" model.
* *
@@ -2205,7 +2208,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
private void linger(NetworkAgentInfo nai) { private void linger(NetworkAgentInfo nai) {
nai.lingering = true; nai.lingering = true;
NetworkEvent.logEvent(nai.network.netId, NetworkEvent.NETWORK_LINGER); logNetworkEvent(nai, NetworkEvent.NETWORK_LINGER);
nai.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_LINGER); nai.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_LINGER);
notifyNetworkCallbacks(nai, ConnectivityManager.CALLBACK_LOSING); notifyNetworkCallbacks(nai, ConnectivityManager.CALLBACK_LOSING);
} }
@@ -2219,7 +2222,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
nai.networkLingered.clear(); nai.networkLingered.clear();
if (!nai.lingering) return; if (!nai.lingering) return;
nai.lingering = false; nai.lingering = false;
NetworkEvent.logEvent(nai.network.netId, NetworkEvent.NETWORK_UNLINGER); logNetworkEvent(nai, NetworkEvent.NETWORK_UNLINGER);
if (VDBG) log("Canceling linger of " + nai.name()); if (VDBG) log("Canceling linger of " + nai.name());
nai.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_CONNECTED); nai.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_CONNECTED);
} }
@@ -5242,7 +5245,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
return new NetworkMonitor(context, handler, nai, defaultRequest); return new NetworkMonitor(context, handler, nai, defaultRequest);
} }
private static void logDefaultNetworkEvent(NetworkAgentInfo newNai, NetworkAgentInfo prevNai) { private void logDefaultNetworkEvent(NetworkAgentInfo newNai, NetworkAgentInfo prevNai) {
int newNetid = NETID_UNSET; int newNetid = NETID_UNSET;
int prevNetid = NETID_UNSET; int prevNetid = NETID_UNSET;
int[] transports = new int[0]; int[] transports = new int[0];
@@ -5260,6 +5263,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
hadIPv6 = lp.hasGlobalIPv6Address() && lp.hasIPv6DefaultRoute(); hadIPv6 = lp.hasGlobalIPv6Address() && lp.hasIPv6DefaultRoute();
} }
DefaultNetworkEvent.logEvent(newNetid, transports, prevNetid, hadIPv4, hadIPv6); mMetricsLog.log(new DefaultNetworkEvent(newNetid, transports, prevNetid, hadIPv4, hadIPv6));
}
private void logNetworkEvent(NetworkAgentInfo nai, int evtype) {
mMetricsLog.log(new NetworkEvent(nai.network.netId, evtype));
} }
} }