Class ExponentiallyWeightedMovingAverage

    • Constructor Detail

      • ExponentiallyWeightedMovingAverage

        public ExponentiallyWeightedMovingAverage​(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 Detail

      • oneMinuteEWMA

        public static ExponentiallyWeightedMovingAverage 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 ExponentiallyWeightedMovingAverage 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 ExponentiallyWeightedMovingAverage 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