From c304a15751383e8254b00558a50a33ec04917e07 Mon Sep 17 00:00:00 2001 From: Lorenzo Colitti Date: Mon, 23 May 2016 14:10:19 +0900 Subject: [PATCH] Only actually log the DNS events we have. DnsEventListenerService#logAndClear was always logging 100 DNS events regardless of how many were actually logged. The rest of the events were either all zero or previously-recorded events. Bug: 28204408 Change-Id: I9da3b07a2e7b7512397a3eb6568a877815eb3312 --- .../android/server/connectivity/DnsEventListenerService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/connectivity/DnsEventListenerService.java b/services/core/java/com/android/server/connectivity/DnsEventListenerService.java index d3f8af045395f..18ab73100b810 100644 --- a/services/core/java/com/android/server/connectivity/DnsEventListenerService.java +++ b/services/core/java/com/android/server/connectivity/DnsEventListenerService.java @@ -78,9 +78,11 @@ public class DnsEventListenerService extends IDnsEventListener.Stub { return; } + // Only log as many events as we actually have. + byte[] eventTypes = Arrays.copyOf(mEventTypes, mEventCount); byte[] returnCodes = Arrays.copyOf(mReturnCodes, mEventCount); int[] latenciesMs = Arrays.copyOf(mLatenciesMs, mEventCount); - DnsEvent.logEvent(mNetId, mEventTypes, mReturnCodes, mLatenciesMs); + DnsEvent.logEvent(mNetId, eventTypes, returnCodes, latenciesMs); maybeLog(String.format("Logging %d results for netId %d", mEventCount, mNetId)); mEventCount = 0; }