pandora-metrics
Version:
## Overview
57 lines (56 loc) • 1.24 kB
TypeScript
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;
}