pandora-metrics
Version:
## Overview
50 lines (49 loc) • 1.57 kB
TypeScript
import { EWMA } from '../util/EWMA';
import { BucketCounter } from './BucketCounter';
import { Metered, Metric } from '../domain';
/**
* A meter metric which measures mean throughput and one-, five-, and fifteen-minute
* exponentially-weighted moving average throughput.
* 一种用于度量一段时间内吞吐率的计量器。例如,一分钟内,五分钟内,十五分钟内的qps指标,
* 这段时间内的吞吐率通过指数加权的方式计算移动平均得出。
*/
export interface IMeter extends Metric, Metered {
/**
* Mark the occurrence of an event.
* 标记一次事件
*/
mark(): void;
/**
* Mark the occurrence of a given number of events.
* 标记n次事件
*
* @param n the number of events
*/
mark(n: number): void;
}
/**
* A meter metric which measures mean throughput and one-, five-, and fifteen-minute
* exponentially-weighted moving average throughputs.
*
* @see EWMA
*/
export declare class BaseMeter implements IMeter {
type: string;
m1Rate: EWMA;
m5Rate: EWMA;
m15Rate: EWMA;
startTime: any;
lastTick: any;
uncounted: number;
bucketCounter: BucketCounter;
constructor(interval?: number, numberOfBucket?: number);
private tickIfNecessary();
mark(n?: number): void;
getCount(): number;
getInstantCount(startTime?: number): Map<number, number>;
getInstantCountInterval(): number;
getFifteenMinuteRate(): number;
getFiveMinuteRate(): number;
getMeanRate(): number;
getOneMinuteRate(): number;
}