summaryrefslogtreecommitdiff
path: root/src/android/net/util/Stopwatch.java
diff options
context:
space:
mode:
authorFrank Li <lifr@google.com>2020-05-18 04:48:03 +0000
committerFrank Li <lifr@google.com>2020-05-28 02:14:17 +0000
commitfa91414542efaf8a4ed60cd59953e158e90dd2d4 (patch)
treee5b859b42005792ed84e9168d31ae90f23204318 /src/android/net/util/Stopwatch.java
parent92fbcb262a7341a1148b2fba5672736ac692afe2 (diff)
Change stopwatch accuracy from milliseconds to microseconds
The microsecond time information needs to be recorded in the NetworkStack Metrics (NetworkIpProvisioningReported). So the unit of stopwatch is converted from millisecond to microsecond. Bug: 151926185 Test: atest com.android.server.connectivity.NetworkMonitorTest Original-Change: https://android-review.googlesource.com/1299376 Merged-In: I5a27a3b1316c67bf076b2e490860385267358ef8 Change-Id: I5a27a3b1316c67bf076b2e490860385267358ef8
Diffstat (limited to 'src/android/net/util/Stopwatch.java')
-rw-r--r--src/android/net/util/Stopwatch.java24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/android/net/util/Stopwatch.java b/src/android/net/util/Stopwatch.java
index c316699..07618e9 100644
--- a/src/android/net/util/Stopwatch.java
+++ b/src/android/net/util/Stopwatch.java
@@ -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() {
@@ -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();
}
@@ -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;
}
}