Interface Timer

  • All Superinterfaces:
    Metric, Sampling

    public interface Timer
    extends Metric, Sampling
    A timer metric which aggregates timing durations and provides duration statistics
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static interface  Timer.Context
      A timing context.
    • Method Detail

      • update

        void update​(java.time.Duration duration)
        Adds a recorded duration.
        Parameters:
        duration - the length of the duration
      • time

        <T> T time​(java.util.concurrent.Callable<T> event)
            throws java.lang.Exception
        Times and records the duration of event.
        Type Parameters:
        T - the type of the value returned by event
        Parameters:
        event - a Callable whose Callable.call() method implements a process whose duration should be timed
        Returns:
        the value returned by event
        Throws:
        java.lang.Exception - if event throws an Exception
      • time

        void time​(java.lang.Runnable event)
        Times and records the duration of event.
        Parameters:
        event - a Runnable whose Runnable.run() method implements a process whose duration should be timed
      • getElapsedTime

        java.time.Duration getElapsedTime()
        Returns the total elapsed timing durations of all completed timing events that are recorded with update(Duration).
        Returns:
        the elapsed time duration
      • getCount

        long getCount()
      • getSnapshot

        Snapshot getSnapshot()
        Description copied from interface: Sampling
        Returns a snapshot of the values.
        Specified by:
        getSnapshot in interface Sampling
        Returns:
        a snapshot of the values