Interface Timer

  • All Superinterfaces:
    Counting, Metered, Metric, Sampling


    public interface Timer
    extends Metered, Sampling
    A timer metric which aggregates timing durations and provides duration statistics, plus throughput statistics via Meter. The timer measures duration in nanoseconds.
    • Nested Class Summary

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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      long getCount​()
      Returns the number of events which have been marked.
      double getFifteenMinuteRate​()
      Returns the fifteen-minute exponentially-weighted moving average rate at which events have occurred since the meter was created.
      double getFiveMinuteRate​()
      Returns the five-minute exponentially-weighted moving average rate at which events have occurred since the meter was created.
      double getMeanRate​()
      Returns the mean rate at which events have occurred since the meter was created.
      double getOneMinuteRate​()
      Returns the one-minute exponentially-weighted moving average rate at which events have occurred since the meter was created.
      Snapshot getSnapshot​()
      Returns a snapshot of the values.
      Timer.Context time​()
      Returns a new Timer.Context.
      void time​(java.lang.Runnable event)
      Times and records the duration of event.
      <T> T time​(java.util.concurrent.Callable<T> event)
      Times and records the duration of event.
      void update​(long duration, java.util.concurrent.TimeUnit unit)
      Adds a recorded duration.
    • Method Detail

      • update

        void update​(long duration,
                    java.util.concurrent.TimeUnit unit)
        Adds a recorded duration.
        Parameters:
        duration - the length of the duration
        unit - the scale unit of 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
      • getCount

        long getCount​()
        Description copied from interface: Metered
        Returns the number of events which have been marked.
        Specified by:
        getCount in interface Counting
        Specified by:
        getCount in interface Metered
        Returns:
        the number of events which have been marked
      • getFifteenMinuteRate

        double getFifteenMinuteRate​()
        Description copied from interface: Metered
        Returns the fifteen-minute exponentially-weighted moving average rate at which events have occurred since the meter was created. This rate has the same exponential decay factor as the fifteen-minute load average in the top Unix command.
        Specified by:
        getFifteenMinuteRate in interface Metered
        Returns:
        the fifteen-minute exponentially-weighted moving average rate at which events have occurred since the meter was created
      • getFiveMinuteRate

        double getFiveMinuteRate​()
        Description copied from interface: Metered
        Returns the five-minute exponentially-weighted moving average rate at which events have occurred since the meter was created. This rate has the same exponential decay factor as the five-minute load average in the top Unix command.
        Specified by:
        getFiveMinuteRate in interface Metered
        Returns:
        the five-minute exponentially-weighted moving average rate at which events have occurred since the meter was created
      • getMeanRate

        double getMeanRate​()
        Description copied from interface: Metered
        Returns the mean rate at which events have occurred since the meter was created.
        Specified by:
        getMeanRate in interface Metered
        Returns:
        the mean rate at which events have occurred since the meter was created
      • getOneMinuteRate

        double getOneMinuteRate​()
        Description copied from interface: Metered
        Returns the one-minute exponentially-weighted moving average rate at which events have occurred since the meter was created. This rate has the same exponential decay factor as the one-minute load average in the top Unix command.
        Specified by:
        getOneMinuteRate in interface Metered
        Returns:
        the one-minute exponentially-weighted moving average rate at which events have occurred since the meter was created
      • 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