org.springframework.integration.monitor
Class ExponentialMovingAverage
java.lang.Object
org.springframework.integration.monitor.ExponentialMovingAverage
public class ExponentialMovingAverage
- extends java.lang.Object
Cumulative statistics for a series of real numbers with higher weight given to recent data but without storing any
history. Clients call append(double)
every time there is a new measurement, and then can collect summary
statistics from the convenience getters (e.g. getStatistics()
). Older values are given exponentially smaller
weight, with a decay factor determined by a "window" size chosen by the caller. The result is a good approximation to
the statistics of the series but with more weight given to recent measurements, so if the statistics change over time
those trends can be approximately reflected.
Constructor Summary |
ExponentialMovingAverage(int window)
Create a moving average accumulator with decay lapse window provided. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
ExponentialMovingAverage
public ExponentialMovingAverage(int window)
- Create a moving average accumulator with decay lapse window provided. Measurements older than this will have
smaller weight than
1/e
.
- Parameters:
window
- the exponential lapse window (number of measurements)
reset
public void reset()
append
public void append(double value)
- Add a new measurement to the series.
- Parameters:
value
- the measurement to append
getCount
public int getCount()
- Returns:
- the number of measurements recorded
getMean
public double getMean()
- Returns:
- the mean value
getStandardDeviation
public double getStandardDeviation()
- Returns:
- the approximate standard deviation
getMax
public double getMax()
- Returns:
- the maximum value recorded (not weighted)
getMin
public double getMin()
- Returns:
- the minimum value recorded (not weighted)
getStatistics
public Statistics getStatistics()
- Returns:
- summary statistics (count, mean, standard deviation etc.)
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object