Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 97bfd276 authored by Hugo Benichi's avatar Hugo Benichi
Browse files

IP connectivity metrics: NetworkEvents have transports

Also removes netId field from inside NetworkEvent and stop populating
the network_id field of the NetworkEvent field, deprecating it.

Bug: 34901696
Test: runtest frameworks-net,
      manually looking at $ adb shell dumpsys connmetrics

Change-Id: I2c36860f976898883714f72f4d18e06da250c6a6
parent 6ee20ca7
Loading
Loading
Loading
Loading
+5 −9
Original line number Diff line number Diff line
@@ -60,29 +60,25 @@ public final class NetworkEvent implements Parcelable {
    @Retention(RetentionPolicy.SOURCE)
    public @interface EventType {}

    public final int netId;
    public final @EventType int eventType;
    public final long durationMs;

    public NetworkEvent(int netId, @EventType int eventType, long durationMs) {
        this.netId = netId;
    public NetworkEvent(@EventType int eventType, long durationMs) {
        this.eventType = eventType;
        this.durationMs = durationMs;
    }

    public NetworkEvent(int netId, @EventType int eventType) {
        this(netId, eventType, 0);
    public NetworkEvent(@EventType int eventType) {
        this(eventType, 0);
    }

    private NetworkEvent(Parcel in) {
        netId = in.readInt();
        eventType = in.readInt();
        durationMs = in.readLong();
    }

    @Override
    public void writeToParcel(Parcel out, int flags) {
        out.writeInt(netId);
        out.writeInt(eventType);
        out.writeLong(durationMs);
    }
@@ -105,8 +101,8 @@ public final class NetworkEvent implements Parcelable {

    @Override
    public String toString() {
        return String.format("NetworkEvent(%d, %s, %dms)",
                netId, Decoder.constants.get(eventType), durationMs);
        return String.format("NetworkEvent(%s, %dms)",
                Decoder.constants.get(eventType), durationMs);
    }

    final static class Decoder {
+0 −8
Original line number Diff line number Diff line
@@ -46,7 +46,6 @@ import android.util.SparseIntArray;
import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass;
import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.IpConnectivityEvent;
import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.IpConnectivityLog;
import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.NetworkId;
import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.Pair;
import java.io.IOException;
import java.util.ArrayList;
@@ -247,7 +246,6 @@ final public class IpConnectivityEventBuilder {
    private static void setNetworkEvent(IpConnectivityEvent out, NetworkEvent in) {
        IpConnectivityLogClass.NetworkEvent networkEvent =
                new IpConnectivityLogClass.NetworkEvent();
        networkEvent.networkId = netIdOf(in.netId);
        networkEvent.eventType = in.eventType;
        networkEvent.latencyMs = (int) in.durationMs;
        out.setNetworkEvent(networkEvent);
@@ -326,12 +324,6 @@ final public class IpConnectivityEventBuilder {
        return pairs;
    }

    private static NetworkId netIdOf(int netid) {
        final NetworkId ni = new NetworkId();
        ni.networkId = netid;
        return ni;
    }

    private static int ipSupportOf(DefaultNetworkEvent in) {
        if (in.ipv4 && in.ipv6) {
            return IpConnectivityLogClass.DefaultNetworkEvent.DUAL;
+4 −2
Original line number Diff line number Diff line
@@ -1129,7 +1129,8 @@ public class NetworkMonitor extends StateMachine {
    }

    private void logNetworkEvent(int evtype) {
        mMetricsLog.log(new NetworkEvent(mNetId, evtype));
        int[] transports = mNetworkAgentInfo.networkCapabilities.getTransportTypes();
        mMetricsLog.log(mNetId, transports, new NetworkEvent(evtype));
    }

    private int networkEventType(ValidationStage s, EvaluationResult r) {
@@ -1150,7 +1151,8 @@ public class NetworkMonitor extends StateMachine {

    private void maybeLogEvaluationResult(int evtype) {
        if (mEvaluationTimer.isRunning()) {
            mMetricsLog.log(new NetworkEvent(mNetId, evtype, mEvaluationTimer.stop()));
            int[] transports = mNetworkAgentInfo.networkCapabilities.getTransportTypes();
            mMetricsLog.log(mNetId, transports, new NetworkEvent(evtype, mEvaluationTimer.stop()));
            mEvaluationTimer.reset();
        }
    }
+0 −4
Original line number Diff line number Diff line
@@ -337,7 +337,6 @@ public class IpConnectivityEventBuilderTest {
    public void testNetworkEventSerialization() {
        ConnectivityMetricsEvent ev = describeIpEvent(
                aType(NetworkEvent.class),
                anInt(100),
                anInt(5),
                aLong(20410));

@@ -352,9 +351,6 @@ public class IpConnectivityEventBuilderTest {
                "  network_event <",
                "    event_type: 5",
                "    latency_ms: 20410",
                "    network_id <",
                "      network_id: 100",
                "    >",
                "  >",
                ">",
                "version: 2\n");