Class EWMA

java.lang.Object
com.codahale.metrics.EWMA

public class EWMA extends Object
An exponentially-weighted moving average.
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    EWMA(double alpha, long interval, TimeUnit intervalUnit)
    Create a new EWMA with a specific smoothing constant.
  • Method Summary

    Modifier and Type
    Method
    Description
    static EWMA
    Creates a new EWMA which is equivalent to the UNIX fifteen minute load average and which expects to be ticked every 5 seconds.
    static EWMA
    Creates a new EWMA which is equivalent to the UNIX five minute load average and which expects to be ticked every 5 seconds.
    double
    getRate(TimeUnit rateUnit)
    Returns the rate in the given units of time.
    static EWMA
    Creates a new EWMA which is equivalent to the UNIX one minute load average and which expects to be ticked every 5 seconds.
    void
    Mark the passage of time and decay the current rate accordingly.
    void
    update(long n)
    Update the moving average with a new value.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • EWMA

      public EWMA(double alpha, long interval, TimeUnit intervalUnit)
      Create a new EWMA with a specific smoothing constant.
      Parameters:
      alpha - the smoothing constant
      interval - the expected tick interval
      intervalUnit - the time unit of the tick interval
  • Method Details

    • oneMinuteEWMA

      public static EWMA oneMinuteEWMA()
      Creates a new EWMA which is equivalent to the UNIX one minute load average and which expects to be ticked every 5 seconds.
      Returns:
      a one-minute EWMA
    • fiveMinuteEWMA

      public static EWMA fiveMinuteEWMA()
      Creates a new EWMA which is equivalent to the UNIX five minute load average and which expects to be ticked every 5 seconds.
      Returns:
      a five-minute EWMA
    • fifteenMinuteEWMA

      public static EWMA fifteenMinuteEWMA()
      Creates a new EWMA which is equivalent to the UNIX fifteen minute load average and which expects to be ticked every 5 seconds.
      Returns:
      a fifteen-minute EWMA
    • update

      public void update(long n)
      Update the moving average with a new value.
      Parameters:
      n - the new value
    • tick

      public void tick()
      Mark the passage of time and decay the current rate accordingly.
    • getRate

      public double getRate(TimeUnit rateUnit)
      Returns the rate in the given units of time.
      Parameters:
      rateUnit - the unit of time
      Returns:
      the rate