Class ExpWeightedMovingAverage

    • Constructor Summary

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

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static ExpWeightedMovingAverage fifteenMinuteEWMA()
      Creates a new EWMA which is equivalent to the UNIX fifteen minute load average and which expects to be ticked every 5 seconds.
      static ExpWeightedMovingAverage fiveMinuteEWMA()
      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​(java.util.concurrent.TimeUnit rateUnit)
      Returns the rate in the given units of time.
      static ExpWeightedMovingAverage oneMinuteEWMA()
      Creates a new EWMA which is equivalent to the UNIX one minute load average and which expects to be ticked every 5 seconds.
      void tick()
      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 Detail

      • ExpWeightedMovingAverage

        public ExpWeightedMovingAverage​(double alpha,
                                        long interval,
                                        java.util.concurrent.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 Detail

      • oneMinuteEWMA

        public static ExpWeightedMovingAverage 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 ExpWeightedMovingAverage 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 ExpWeightedMovingAverage 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​(java.util.concurrent.TimeUnit rateUnit)
        Returns the rate in the given units of time.
        Parameters:
        rateUnit - the unit of time
        Returns:
        the rate