Interface Clock
-
public interface Clock
Used to measure absolute and relative time. see "MockClock" for a clock that can be manually advanced for use in tests.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description long
monotonicTime()
Current time from a monotonic clock source.static Clock
newClock(Clock clock)
Create a monitoring clock base on aClock
.long
wallTime()
Current wall time in milliseconds since the epoch.
-
-
-
Field Detail
-
SYSTEM
static final Clock SYSTEM
-
-
Method Detail
-
newClock
static Clock newClock(Clock clock)
Create a monitoring clock base on aClock
.- Parameters:
clock
- the clock to rely on.- Returns:
- a new monitoring clock instance based on the
Clock
.
-
wallTime
long wallTime()
Current wall time in milliseconds since the epoch. Typically equivalent to System.currentTimeMillis. Should not be used to determine durations. Used for timestamping metrics being pushed to a monitoring system or for determination of step boundaries (e.g. StepLong).- Returns:
- Wall time in milliseconds
-
monotonicTime
long monotonicTime()
Current time from a monotonic clock source. The value is only meaningful when compared with another snapshot to determine the elapsed time for an operation. The difference between two samples will have a unit of nanoseconds. The returned value is typically equivalent to System.nanoTime.- Returns:
- Monotonic time in nanoseconds
-
-