Loading src/android/net/util/Stopwatch.java +12 −12 Original line number Diff line number Diff line Loading @@ -23,15 +23,15 @@ import android.os.SystemClock; * @hide */ public class Stopwatch { private long mStartTimeMs; private long mStopTimeMs; private long mStartTimeNs; private long mStopTimeNs; public boolean isStarted() { return (mStartTimeMs > 0); return (mStartTimeNs > 0); } public boolean isStopped() { return (mStopTimeMs > 0); return (mStopTimeNs > 0); } public boolean isRunning() { Loading @@ -43,31 +43,31 @@ public class Stopwatch { */ public Stopwatch start() { if (!isStarted()) { mStartTimeMs = SystemClock.elapsedRealtime(); mStartTimeNs = SystemClock.elapsedRealtimeNanos(); } return this; } /** * Stop the Stopwatch. * @return the total time recorded, in milliseconds, or 0 if not started. * @return the total time recorded, in microseconds, or 0 if not started. */ public long stop() { if (isRunning()) { mStopTimeMs = SystemClock.elapsedRealtime(); mStopTimeNs = SystemClock.elapsedRealtimeNanos(); } // Return either the delta after having stopped, or 0. return (mStopTimeMs - mStartTimeMs); return (mStopTimeNs - mStartTimeNs) / 1000; } /** * Return the total time recorded to date, in milliseconds. * Return the total time recorded to date, in microseconds. * If the Stopwatch is not running, returns the same value as stop(), * i.e. either the total time recorded before stopping or 0. */ public long lap() { if (isRunning()) { return (SystemClock.elapsedRealtime() - mStartTimeMs); return (SystemClock.elapsedRealtimeNanos() - mStartTimeNs) / 1000; } else { return stop(); } Loading @@ -77,7 +77,7 @@ public class Stopwatch { * Reset the Stopwatch. It will be stopped when this method returns. */ public void reset() { mStartTimeMs = 0; mStopTimeMs = 0; mStartTimeNs = 0; mStopTimeNs = 0; } } src/com/android/networkstack/util/DnsUtils.java +6 −5 Original line number Diff line number Diff line Loading @@ -147,7 +147,7 @@ public class DnsUtils { } catch (TimeoutException | InterruptedException e) { errorMsg = "Timeout"; } finally { logDnsResult(result, watch.stop() /* latency */, logger, type, errorMsg); logDnsResult(result, watch.stop() / 1000 /* latencyMs */, logger, type, errorMsg); } if (null != errorMsg) throw new UnknownHostException(host); Loading @@ -155,8 +155,9 @@ public class DnsUtils { return result.toArray(new InetAddress[0]); } private static void logDnsResult(@Nullable final List<InetAddress> results, final long latency, @Nullable final DnsLogFunc logger, int type, @NonNull final String errorMsg) { private static void logDnsResult(@Nullable final List<InetAddress> results, final long latencyMs, @Nullable final DnsLogFunc logger, int type, @NonNull final String errorMsg) { if (logger == null) { return; } Loading @@ -166,9 +167,9 @@ public class DnsUtils { for (InetAddress address : results) { builder.append(',').append(address.getHostAddress()); } logger.log(String.format("%dms OK %s", latency, builder.substring(1))); logger.log(String.format("%dms OK %s", latencyMs, builder.substring(1))); } else { logger.log(String.format("%dms FAIL in type %s %s", latency, dnsTypeToStr(type), logger.log(String.format("%dms FAIL in type %s %s", latencyMs, dnsTypeToStr(type), errorMsg)); } } Loading src/com/android/server/connectivity/NetworkMonitor.java +5 −5 Original line number Diff line number Diff line Loading @@ -1398,11 +1398,11 @@ public class NetworkMonitor extends StateMachine { time = watch.stop(); final String strIps = Arrays.toString(ips); success = (ips != null && ips.length > 0); validationLog(PROBE_PRIVDNS, host, String.format("%dms: %s", time, strIps)); validationLog(PROBE_PRIVDNS, host, String.format("%dus: %s", time, strIps)); } catch (UnknownHostException uhe) { time = watch.stop(); validationLog(PROBE_PRIVDNS, host, String.format("%dms - Error: %s", time, uhe.getMessage())); String.format("%dus - Error: %s", time, uhe.getMessage())); } logValidationProbe(time, PROBE_PRIVDNS, success ? DNS_SUCCESS : DNS_FAILURE); return success; Loading Loading @@ -2930,18 +2930,18 @@ public class NetworkMonitor extends StateMachine { if (mEvaluationTimer.isRunning()) { int[] transports = mNetworkCapabilities.getTransportTypes(); mMetricsLog.log(mCleartextDnsNetwork, transports, new NetworkEvent(evtype, mEvaluationTimer.stop())); new NetworkEvent(evtype, mEvaluationTimer.stop() / 1000)); mEvaluationTimer.reset(); } } private void logValidationProbe(long durationMs, int probeType, int probeResult) { private void logValidationProbe(long durationUs, int probeType, int probeResult) { int[] transports = mNetworkCapabilities.getTransportTypes(); boolean isFirstValidation = validationStage().mIsFirstValidation; ValidationProbeEvent ev = new ValidationProbeEvent.Builder() .setProbeType(probeType, isFirstValidation) .setReturnCode(probeResult) .setDurationMs(durationMs) .setDurationMs(durationUs / 1000) .build(); mMetricsLog.log(mCleartextDnsNetwork, transports, ev); } Loading Loading
src/android/net/util/Stopwatch.java +12 −12 Original line number Diff line number Diff line Loading @@ -23,15 +23,15 @@ import android.os.SystemClock; * @hide */ public class Stopwatch { private long mStartTimeMs; private long mStopTimeMs; private long mStartTimeNs; private long mStopTimeNs; public boolean isStarted() { return (mStartTimeMs > 0); return (mStartTimeNs > 0); } public boolean isStopped() { return (mStopTimeMs > 0); return (mStopTimeNs > 0); } public boolean isRunning() { Loading @@ -43,31 +43,31 @@ public class Stopwatch { */ public Stopwatch start() { if (!isStarted()) { mStartTimeMs = SystemClock.elapsedRealtime(); mStartTimeNs = SystemClock.elapsedRealtimeNanos(); } return this; } /** * Stop the Stopwatch. * @return the total time recorded, in milliseconds, or 0 if not started. * @return the total time recorded, in microseconds, or 0 if not started. */ public long stop() { if (isRunning()) { mStopTimeMs = SystemClock.elapsedRealtime(); mStopTimeNs = SystemClock.elapsedRealtimeNanos(); } // Return either the delta after having stopped, or 0. return (mStopTimeMs - mStartTimeMs); return (mStopTimeNs - mStartTimeNs) / 1000; } /** * Return the total time recorded to date, in milliseconds. * Return the total time recorded to date, in microseconds. * If the Stopwatch is not running, returns the same value as stop(), * i.e. either the total time recorded before stopping or 0. */ public long lap() { if (isRunning()) { return (SystemClock.elapsedRealtime() - mStartTimeMs); return (SystemClock.elapsedRealtimeNanos() - mStartTimeNs) / 1000; } else { return stop(); } Loading @@ -77,7 +77,7 @@ public class Stopwatch { * Reset the Stopwatch. It will be stopped when this method returns. */ public void reset() { mStartTimeMs = 0; mStopTimeMs = 0; mStartTimeNs = 0; mStopTimeNs = 0; } }
src/com/android/networkstack/util/DnsUtils.java +6 −5 Original line number Diff line number Diff line Loading @@ -147,7 +147,7 @@ public class DnsUtils { } catch (TimeoutException | InterruptedException e) { errorMsg = "Timeout"; } finally { logDnsResult(result, watch.stop() /* latency */, logger, type, errorMsg); logDnsResult(result, watch.stop() / 1000 /* latencyMs */, logger, type, errorMsg); } if (null != errorMsg) throw new UnknownHostException(host); Loading @@ -155,8 +155,9 @@ public class DnsUtils { return result.toArray(new InetAddress[0]); } private static void logDnsResult(@Nullable final List<InetAddress> results, final long latency, @Nullable final DnsLogFunc logger, int type, @NonNull final String errorMsg) { private static void logDnsResult(@Nullable final List<InetAddress> results, final long latencyMs, @Nullable final DnsLogFunc logger, int type, @NonNull final String errorMsg) { if (logger == null) { return; } Loading @@ -166,9 +167,9 @@ public class DnsUtils { for (InetAddress address : results) { builder.append(',').append(address.getHostAddress()); } logger.log(String.format("%dms OK %s", latency, builder.substring(1))); logger.log(String.format("%dms OK %s", latencyMs, builder.substring(1))); } else { logger.log(String.format("%dms FAIL in type %s %s", latency, dnsTypeToStr(type), logger.log(String.format("%dms FAIL in type %s %s", latencyMs, dnsTypeToStr(type), errorMsg)); } } Loading
src/com/android/server/connectivity/NetworkMonitor.java +5 −5 Original line number Diff line number Diff line Loading @@ -1398,11 +1398,11 @@ public class NetworkMonitor extends StateMachine { time = watch.stop(); final String strIps = Arrays.toString(ips); success = (ips != null && ips.length > 0); validationLog(PROBE_PRIVDNS, host, String.format("%dms: %s", time, strIps)); validationLog(PROBE_PRIVDNS, host, String.format("%dus: %s", time, strIps)); } catch (UnknownHostException uhe) { time = watch.stop(); validationLog(PROBE_PRIVDNS, host, String.format("%dms - Error: %s", time, uhe.getMessage())); String.format("%dus - Error: %s", time, uhe.getMessage())); } logValidationProbe(time, PROBE_PRIVDNS, success ? DNS_SUCCESS : DNS_FAILURE); return success; Loading Loading @@ -2930,18 +2930,18 @@ public class NetworkMonitor extends StateMachine { if (mEvaluationTimer.isRunning()) { int[] transports = mNetworkCapabilities.getTransportTypes(); mMetricsLog.log(mCleartextDnsNetwork, transports, new NetworkEvent(evtype, mEvaluationTimer.stop())); new NetworkEvent(evtype, mEvaluationTimer.stop() / 1000)); mEvaluationTimer.reset(); } } private void logValidationProbe(long durationMs, int probeType, int probeResult) { private void logValidationProbe(long durationUs, int probeType, int probeResult) { int[] transports = mNetworkCapabilities.getTransportTypes(); boolean isFirstValidation = validationStage().mIsFirstValidation; ValidationProbeEvent ev = new ValidationProbeEvent.Builder() .setProbeType(probeType, isFirstValidation) .setReturnCode(probeResult) .setDurationMs(durationMs) .setDurationMs(durationUs / 1000) .build(); mMetricsLog.log(mCleartextDnsNetwork, transports, ev); } Loading