Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
24 lines (14 sloc) 610 Bytes
This module implements exponential moving average logic,
a useful data structure to store hits/second averaged over some time period.
For a general description see:
http://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average
USAGE
=====
1. Create a moving average code with a given smoothing window.
M1 = jn_mavg:new_mavg(300).
2. Update the moving average by accounting for new incoming events.
M2 = jn_mavg:bump_mavg(M1, 1).
M3 = jn_mavg:bump_mavg(M2, 1).
3. Query moving average value.
EventsPerMinute = jn_mavg:getEventsPer(M3, 60).
EventsPerHour = jn_mavg:getEventsPer(M3, 3600).