Cumulative statistics for an event rate with higher weight given to recent data but without storing any history.
Clients call increment() when a new event occurs, and then use convenience methods (e.g. getMean())
to retrieve estimates of the rate of event arrivals and the statistics of the series. 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:
in time according to the lapse period supplied: weight = exp((t0-t)/T) where t0 is the
last measurement time, t is the current time and T is the lapse period)
per measurement according to the lapse window supplied: weight = exp(-i/L) where L is
the lapse window and i is the sequence number of the measurement.