Merge "Add NetworkStack metrics to system API" am: bda2c4fe17 am: 65599b3ca1

am: 330a49d63c

Change-Id: I848ac4c2bb8d35a2f756f97e57f9a61698c00f57
This commit is contained in:
Remi NGUYEN VAN
2019-01-22 00:28:03 -08:00
committed by android-build-merger

View File

@@ -18,14 +18,15 @@ package com.android.server.connectivity;
import static android.net.metrics.INetdEventListener.EVENT_GETADDRINFO; import static android.net.metrics.INetdEventListener.EVENT_GETADDRINFO;
import static android.net.metrics.INetdEventListener.EVENT_GETHOSTBYNAME; import static android.net.metrics.INetdEventListener.EVENT_GETHOSTBYNAME;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.timeout;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail; import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.timeout;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
@@ -34,12 +35,11 @@ import android.net.IIpConnectivityMetrics;
import android.net.IpPrefix; import android.net.IpPrefix;
import android.net.LinkAddress; import android.net.LinkAddress;
import android.net.LinkProperties; import android.net.LinkProperties;
import android.net.RouteInfo;
import android.net.Network; import android.net.Network;
import android.net.NetworkCapabilities; import android.net.NetworkCapabilities;
import android.net.RouteInfo;
import android.net.metrics.ApfProgramEvent; import android.net.metrics.ApfProgramEvent;
import android.net.metrics.ApfStats; import android.net.metrics.ApfStats;
import android.net.metrics.DefaultNetworkEvent;
import android.net.metrics.DhcpClientEvent; import android.net.metrics.DhcpClientEvent;
import android.net.metrics.IpConnectivityLog; import android.net.metrics.IpConnectivityLog;
import android.net.metrics.IpManagerEvent; import android.net.metrics.IpManagerEvent;
@@ -55,6 +55,13 @@ import android.util.Base64;
import com.android.internal.util.BitUtils; import com.android.internal.util.BitUtils;
import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass; import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.StringWriter; import java.io.StringWriter;
import java.util.Collections; import java.util.Collections;
@@ -62,13 +69,6 @@ import java.util.Comparator;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
@SmallTest @SmallTest
public class IpConnectivityMetricsTest { public class IpConnectivityMetricsTest {
@@ -154,7 +154,7 @@ public class IpConnectivityMetricsTest {
@Test @Test
public void testRateLimiting() { public void testRateLimiting() {
final IpConnectivityLog logger = new IpConnectivityLog(mService.impl); final IpConnectivityLog logger = new IpConnectivityLog(mService.impl);
final ApfProgramEvent ev = new ApfProgramEvent(); final ApfProgramEvent ev = new ApfProgramEvent.Builder().build();
final long fakeTimestamp = 1; final long fakeTimestamp = 1;
int attempt = 100; // More than burst quota, but less than buffer size. int attempt = 100; // More than burst quota, but less than buffer size.
@@ -304,26 +304,31 @@ public class IpConnectivityMetricsTest {
when(mCm.getNetworkCapabilities(new Network(100))).thenReturn(ncWifi); when(mCm.getNetworkCapabilities(new Network(100))).thenReturn(ncWifi);
when(mCm.getNetworkCapabilities(new Network(101))).thenReturn(ncCell); when(mCm.getNetworkCapabilities(new Network(101))).thenReturn(ncCell);
ApfStats apfStats = new ApfStats(); ApfStats apfStats = new ApfStats.Builder()
apfStats.durationMs = 45000; .setDurationMs(45000)
apfStats.receivedRas = 10; .setReceivedRas(10)
apfStats.matchingRas = 2; .setMatchingRas(2)
apfStats.droppedRas = 2; .setDroppedRas(2)
apfStats.parseErrors = 2; .setParseErrors(2)
apfStats.zeroLifetimeRas = 1; .setZeroLifetimeRas(1)
apfStats.programUpdates = 4; .setProgramUpdates(4)
apfStats.programUpdatesAll = 7; .setProgramUpdatesAll(7)
apfStats.programUpdatesAllowingMulticast = 3; .setProgramUpdatesAllowingMulticast(3)
apfStats.maxProgramSize = 2048; .setMaxProgramSize(2048)
.build();
ValidationProbeEvent validationEv = new ValidationProbeEvent(); final ValidationProbeEvent validationEv = new ValidationProbeEvent.Builder()
validationEv.durationMs = 40730; .setDurationMs(40730)
validationEv.probeType = ValidationProbeEvent.PROBE_HTTP; .setProbeType(ValidationProbeEvent.PROBE_HTTP, true)
validationEv.returnCode = 204; .setReturnCode(204)
.build();
final DhcpClientEvent event = new DhcpClientEvent.Builder()
.setMsg("SomeState")
.setDurationMs(192)
.build();
Parcelable[] events = { Parcelable[] events = {
new IpReachabilityEvent(IpReachabilityEvent.NUD_FAILED), new IpReachabilityEvent(IpReachabilityEvent.NUD_FAILED), event,
new DhcpClientEvent("SomeState", 192),
new IpManagerEvent(IpManagerEvent.PROVISIONING_OK, 5678), new IpManagerEvent(IpManagerEvent.PROVISIONING_OK, 5678),
validationEv, validationEv,
apfStats, apfStats,
@@ -424,7 +429,7 @@ public class IpConnectivityMetricsTest {
" validation_probe_event <", " validation_probe_event <",
" latency_ms: 40730", " latency_ms: 40730",
" probe_result: 204", " probe_result: 204",
" probe_type: 1", " probe_type: 257",
" >", " >",
">", ">",
"events <", "events <",