UNPKG

pandora-metrics

Version:
57 lines (56 loc) 1.24 kB
import { Snapshot } from './domain'; export declare enum ReservoirType { /** * The exponentially decaying reservoir */ EXPONENTIALLY_DECAYING = 0, /** * The sliding time window reservoir */ SLIDING_TIME_WINDOW = 1, /** * The sliding window reservoir */ SLIDING_WINDOW = 2, /** * The uniform reservoir */ UNIFORM = 3, /** * The bucket reservoir */ BUCKET = 4, } /** * A statistically representative reservoir of a data stream. */ export interface IReservoir { /** * Returns the number of values recorded. * * @return the number of values recorded */ size(): number; /** * Adds a new recorded value to the reservoir. * * @param value a new recorded value */ update(value: number): any; /** * Returns a snapshot of the reservoir's values. * * @return a snapshot of the reservoir's values */ getSnapshot(): Snapshot; } export declare abstract class Reservoir implements IReservoir { values: any; count: number; update(value: number): void; clear(): void; size(): any; print(): void; getValues(): any; abstract getSnapshot(): Snapshot; }