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. See SimpleTimer for a lightweight alternative that only tracks elapsed time duration and count. 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