node-universe
Version:
基于 Nodejs 环境的一款微服务框架,原理来自于宇宙中的恒星,行星,卫星等系统。
39 lines (38 loc) • 1.48 kB
TypeScript
import { BaseMetricOptions, MetricSnapshot } from '../../../typings/metric';
import MetricRegistry from '../registry';
import { GenericObject } from '../../../typings';
export default class BaseMetric {
type: string;
registry: MetricRegistry;
name: string;
description: string;
labelNames: string[];
unit: string;
aggregator: string;
lastSnapshot: Array<MetricSnapshot> | null;
dirty: boolean;
values: Map<string, GenericObject>;
constructor(options: BaseMetricOptions, registry: MetricRegistry);
setDirty(): void;
clearDirty(): void;
get(labels: GenericObject): GenericObject | undefined;
set(value: number | string, labels?: GenericObject, timestamp?: number): void;
reset(labels?: GenericObject, timestamp?: number): void;
resetAll(timestamp?: number): void;
clear(): void;
hashingLabels(labels?: GenericObject): string;
changed(value: any | null, labels?: any, timestamp?: number): void;
snapshot(): MetricSnapshot[] | null;
increment(labels?: GenericObject, value?: number, timestamp?: number): void;
decrement(labels?: GenericObject, value?: number, timestamp?: number): void;
observe(value: number, labels?: GenericObject, timestamp?: number): void;
generateSnapshot(): any;
toObject(): {
type: string;
name: string;
description: string;
labelNames: string[];
unit: string;
values: MetricSnapshot[] | null;
};
}