Merge "Add NetworkStack metrics to system API"

am: bda2c4fe17

Change-Id: I686e0ffb8d226d9245f1ef6c04bbc8d586c61e81
This commit is contained in:
Remi NGUYEN VAN
2019-01-22 00:09:31 -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_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.assertFalse;
import static org.junit.Assert.assertTrue;
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.net.ConnectivityManager;
@@ -34,12 +35,11 @@ import android.net.IIpConnectivityMetrics;
import android.net.IpPrefix;
import android.net.LinkAddress;
import android.net.LinkProperties;
import android.net.RouteInfo;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.RouteInfo;
import android.net.metrics.ApfProgramEvent;
import android.net.metrics.ApfStats;
import android.net.metrics.DefaultNetworkEvent;
import android.net.metrics.DhcpClientEvent;
import android.net.metrics.IpConnectivityLog;
import android.net.metrics.IpManagerEvent;
@@ -55,6 +55,13 @@ import android.util.Base64;
import com.android.internal.util.BitUtils;
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.StringWriter;
import java.util.Collections;
@@ -62,13 +69,6 @@ import java.util.Comparator;
import java.util.Iterator;
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)
@SmallTest
public class IpConnectivityMetricsTest {
@@ -154,7 +154,7 @@ public class IpConnectivityMetricsTest {
@Test
public void testRateLimiting() {
final IpConnectivityLog logger = new IpConnectivityLog(mService.impl);
final ApfProgramEvent ev = new ApfProgramEvent();
final ApfProgramEvent ev = new ApfProgramEvent.Builder().build();
final long fakeTimestamp = 1;
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(101))).thenReturn(ncCell);
ApfStats apfStats = new ApfStats();
apfStats.durationMs = 45000;
apfStats.receivedRas = 10;
apfStats.matchingRas = 2;
apfStats.droppedRas = 2;
apfStats.parseErrors = 2;
apfStats.zeroLifetimeRas = 1;
apfStats.programUpdates = 4;
apfStats.programUpdatesAll = 7;
apfStats.programUpdatesAllowingMulticast = 3;
apfStats.maxProgramSize = 2048;
ApfStats apfStats = new ApfStats.Builder()
.setDurationMs(45000)
.setReceivedRas(10)
.setMatchingRas(2)
.setDroppedRas(2)
.setParseErrors(2)
.setZeroLifetimeRas(1)
.setProgramUpdates(4)
.setProgramUpdatesAll(7)
.setProgramUpdatesAllowingMulticast(3)
.setMaxProgramSize(2048)
.build();
ValidationProbeEvent validationEv = new ValidationProbeEvent();
validationEv.durationMs = 40730;
validationEv.probeType = ValidationProbeEvent.PROBE_HTTP;
validationEv.returnCode = 204;
final ValidationProbeEvent validationEv = new ValidationProbeEvent.Builder()
.setDurationMs(40730)
.setProbeType(ValidationProbeEvent.PROBE_HTTP, true)
.setReturnCode(204)
.build();
final DhcpClientEvent event = new DhcpClientEvent.Builder()
.setMsg("SomeState")
.setDurationMs(192)
.build();
Parcelable[] events = {
new IpReachabilityEvent(IpReachabilityEvent.NUD_FAILED),
new DhcpClientEvent("SomeState", 192),
new IpReachabilityEvent(IpReachabilityEvent.NUD_FAILED), event,
new IpManagerEvent(IpManagerEvent.PROVISIONING_OK, 5678),
validationEv,
apfStats,
@@ -424,7 +429,7 @@ public class IpConnectivityMetricsTest {
" validation_probe_event <",
" latency_ms: 40730",
" probe_result: 204",
" probe_type: 1",
" probe_type: 257",
" >",
">",
"events <",