public class ExponentialMovingAverageRatio
extends java.lang.Object
success()
or failure()
when an event occurs, and the ratio of success to total events
is accumulated. Older values are given exponentially smaller weight, with a decay factor determined by a duration
chosen by the client. The rate measurement weights decay in two dimensions:
weight = exp((t0-t)/T)
where t0
is the
last measurement time, t
is the current time and T
is the lapse period)weight = exp(-i/L)
where L
is
the lapse window and i
is the sequence number of the measurement.window * 5
samples are retained meaning that the earliest retained value contributes just 0.5% to the
sum.Constructor and Description |
---|
ExponentialMovingAverageRatio(double lapsePeriod,
int window) |
ExponentialMovingAverageRatio(double lapsePeriod,
int window,
boolean millis) |
Modifier and Type | Method and Description |
---|---|
void |
failure()
Add a new event with failed outcome.
|
void |
failure(long t)
Add a new event with failed outcome at time t.
|
int |
getCount() |
long |
getCountLong() |
double |
getMax() |
double |
getMean() |
double |
getMin() |
double |
getStandardDeviation() |
Statistics |
getStatistics() |
double |
getTimeSinceLastMeasurement() |
void |
reset() |
void |
success()
Add a new event with successful outcome.
|
void |
success(long t)
Add a new event with successful outcome at time t.
|
java.lang.String |
toString() |
public ExponentialMovingAverageRatio(double lapsePeriod, int window)
lapsePeriod
- the exponential lapse rate for the rate average (in seconds)window
- the exponential lapse window (number of measurements)public ExponentialMovingAverageRatio(double lapsePeriod, int window, boolean millis)
lapsePeriod
- the exponential lapse rate for the rate average (in seconds)window
- the exponential lapse window (number of measurements)millis
- when true, analyze the data as milliseconds instead of the native nanosecondspublic void success()
public void success(long t)
t
- the System.nanoTime().public void failure()
public void failure(long t)
t
- a new event with failed outcome in milliseconds.public void reset()
public int getCount()
public long getCountLong()
public double getTimeSinceLastMeasurement()
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