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.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Clock
     
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    Current time from a monotonic clock source.
    static Clock
    newClock(Clock clock)
    Create a monitoring clock base on a Clock.
    long
    Current wall time in milliseconds since the epoch.
  • Field Details

    • SYSTEM

      static final Clock SYSTEM
  • Method Details

    • newClock

      static Clock newClock(Clock clock)
      Create a monitoring clock base on a Clock.
      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