Class Meter

java.lang.Object
com.codahale.metrics.Meter
All Implemented Interfaces:
Counting, Metered, Metric

public class Meter extends Object implements Metered
A meter metric which measures mean throughput and one-, five-, and fifteen-minute exponentially-weighted moving average throughputs.
See Also:
  • Field Details

    • TICK_INTERVAL

      private static final long TICK_INTERVAL
    • m1Rate

      private final EWMA m1Rate
    • m5Rate

      private final EWMA m5Rate
    • m15Rate

      private final EWMA m15Rate
    • count

      private final LongAdder count
    • startTime

      private final long startTime
    • lastTick

      private final AtomicLong lastTick
    • clock

      private final Clock clock
  • Constructor Details

    • Meter

      public Meter()
      Creates a new Meter.
    • Meter

      public Meter(Clock clock)
      Creates a new Meter.
      Parameters:
      clock - the clock to use for the meter ticks
  • Method Details

    • mark

      public void mark()
      Mark the occurrence of an event.
    • mark

      public void mark(long n)
      Mark the occurrence of a given number of events.
      Parameters:
      n - the number of events
    • tickIfNecessary

      private void tickIfNecessary()
    • getCount

      public 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

      public 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

      public 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

      public 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

      public 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