From 70444d3ad5091c068de61a773a5ca58a9274135b Mon Sep 17 00:00:00 2001 From: Michal Karpinski Date: Tue, 27 Sep 2016 17:13:57 +0100 Subject: [PATCH 1/2] DO NOT MERGE Extending DNS event reporting This adds hostname, array of addresses, total count of IP addresses and uid to the existing pipeline. Currently ignores the new data it receives, further work will be done in the subsequent CLs. Test: for now just the benchmarking, in the future unit and CTS Bug: 29748723 (cherry picked from commit 14c9d2d0df7fab2b0470c3c404f600d87d4f0f93) Change-Id: I3941b8d6fc1dd578e2af6ed4d3c3d0a722c39918 --- .../android/server/connectivity/NetdEventListenerService.java | 4 +++- .../server/connectivity/NetdEventListenerServiceTest.java | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/connectivity/NetdEventListenerService.java b/services/core/java/com/android/server/connectivity/NetdEventListenerService.java index 21e5d3c1ef978..f97cc094e7ec2 100644 --- a/services/core/java/com/android/server/connectivity/NetdEventListenerService.java +++ b/services/core/java/com/android/server/connectivity/NetdEventListenerService.java @@ -134,7 +134,9 @@ public class NetdEventListenerService extends INetdEventListener.Stub { @Override // Called concurrently by multiple binder threads. - public synchronized void onDnsEvent(int netId, int eventType, int returnCode, int latencyMs) { + // This method must not block or perform long-running operations. + public synchronized void onDnsEvent(int netId, int eventType, int returnCode, int latencyMs, + String hostname, String[] ipAddresses, int ipAddressesCount, int uid) { maybeVerboseLog(String.format("onDnsEvent(%d, %d, %d, %d)", netId, eventType, returnCode, latencyMs)); diff --git a/services/tests/servicestests/src/com/android/server/connectivity/NetdEventListenerServiceTest.java b/services/tests/servicestests/src/com/android/server/connectivity/NetdEventListenerServiceTest.java index 63d5d9fbd919e..9e2fd6231ba9d 100644 --- a/services/tests/servicestests/src/com/android/server/connectivity/NetdEventListenerServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/connectivity/NetdEventListenerServiceTest.java @@ -158,7 +158,8 @@ public class NetdEventListenerServiceTest extends TestCase { void log(int netId, int[] latencies) { for (int l : latencies) { - mNetdEventListenerService.onDnsEvent(netId, EVENT_TYPE, RETURN_CODE, l); + mNetdEventListenerService.onDnsEvent(netId, EVENT_TYPE, RETURN_CODE, l, null, null, 0, + 0); } } From c429e71cfe6b515de1fadc4601b10f8e80a2d5ea Mon Sep 17 00:00:00 2001 From: Michal Karpinski Date: Wed, 28 Sep 2016 16:06:16 +0100 Subject: [PATCH 2/2] DO NOT MERGE Add connect event reporting Adds reporting of connect events including netId, destination IP address, destination port, uid and connect latency. Currently ignores the new data it receives, further work will be done in the subsequent CLs. Test: for now just the benchmarking, in the future CTS Bug: 29748723 (cherry picked from commit 965894eeb90c13255b5559b925d13fd22528f8cb) Change-Id: Ic27405cca56fbd99a281b74ac0a8981dc49ec896 --- .../server/connectivity/NetdEventListenerService.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/services/core/java/com/android/server/connectivity/NetdEventListenerService.java b/services/core/java/com/android/server/connectivity/NetdEventListenerService.java index f97cc094e7ec2..4b175d7a5af80 100644 --- a/services/core/java/com/android/server/connectivity/NetdEventListenerService.java +++ b/services/core/java/com/android/server/connectivity/NetdEventListenerService.java @@ -148,6 +148,14 @@ public class NetdEventListenerService extends INetdEventListener.Stub { batch.addResult((byte) eventType, (byte) returnCode, latencyMs); } + @Override + // Called concurrently by multiple binder threads. + // This method must not block or perform long-running operations. + public synchronized void onConnectEvent(int netId, int latencyMs, String ipAddr, int port, + int uid) { + maybeVerboseLog(String.format("onConnectEvent(%d, %d)", netId, latencyMs)); + } + public synchronized void dump(PrintWriter writer) { IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); pw.println(TAG + ":");