pandora-metrics
Version:
## Overview
43 lines (42 loc) • 1.39 kB
TypeScript
/**
* An exponentially-weighted moving average.
*
* @see <a href="http://www.teamquest.com/pdfs/whitepaper/ldavg1.pdf">UNIX Load Average Part 1: How
* It Works</a>
* @see <a href="http://www.teamquest.com/pdfs/whitepaper/ldavg2.pdf">UNIX Load Average Part 2: Not
* Your Average Average</a>
* @see <a href="http://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average">EMA</a>
*/
export declare class EWMA {
alpha: any;
interval: any;
initialized: boolean;
currentRate: number;
uncounted: number;
tickInterval: any;
constructor(alpha: any, interval: any);
/**
* Creates a new EWMA which is equivalent to the UNIX one minute load average and which expects
* to be ticked every 5 seconds.
*
* @return a one-minute EWMA
*/
static oneMinuteEWMA(): EWMA;
/**
* Creates a new EWMA which is equivalent to the UNIX five minute load average and which expects
* to be ticked every 5 seconds.
*
* @return a five-minute EWMA
*/
static fiveMinuteEWMA(): EWMA;
/**
* Creates a new EWMA which is equivalent to the UNIX fifteen minute load average and which
* expects to be ticked every 5 seconds.
*
* @return a fifteen-minute EWMA
*/
static fifteenMinuteEWMA(): EWMA;
update(n: any): void;
tick(count?: number): void;
getRate(): number;
}