public class ExponentialMovingAverage
extends java.lang.Object
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. For performance reasons, the calculation is performed on retrieval,
window * 5
samples are retained meaning that the earliest retained value contributes just 0.5% to the
sum.Constructor and Description |
---|
ExponentialMovingAverage(int window)
Create a moving average accumulator with decay lapse window provided.
|
ExponentialMovingAverage(int window,
double factor)
Create a moving average accumulator with decay lapse window provided.
|
Modifier and Type | Method and Description |
---|---|
void |
append(double value)
Add a new measurement to the series.
|
int |
getCount() |
long |
getCountLong() |
double |
getMax() |
double |
getMean() |
double |
getMin() |
double |
getStandardDeviation() |
Statistics |
getStatistics() |
void |
reset() |
java.lang.String |
toString() |
public ExponentialMovingAverage(int window)
1/e
.window
- the exponential lapse window (number of measurements)public ExponentialMovingAverage(int window, double factor)
1/e
.window
- the exponential lapse window (number of measurements)factor
- a factor by which raw values are reduced during analysis; e.g. to analyze in ms and
raw values are ns, set the factor to 1000000.0.public void reset()
public void append(double value)
value
- the measurement to appendpublic int getCount()
public long getCountLong()
public double getMean()
public double getStandardDeviation()
public double getMax()
public double getMin()
public Statistics getStatistics()
public java.lang.String toString()
toString
in class java.lang.Object