UNPKG

pandora-metrics

Version:
50 lines (49 loc) 1.57 kB
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; }