moleculer
Version:
Fast & powerful microservices framework for Node.JS
34 lines (23 loc) • 944 B
TypeScript
import BaseMetric = require("./base");
import type MetricRegistry = require("../registry");
declare namespace GaugeMetric {
export interface GaugeMetricOptions extends BaseMetric.BaseMetricOptions {
rate?: boolean;
}
export interface GaugeMetricSnapshot {
key: string;
value: number;
labels: Record<string, any>;
timestamp: number;
}
}
declare class GaugeMetric extends BaseMetric<GaugeMetric.GaugeMetricSnapshot> {
constructor(opts: GaugeMetric.GaugeMetricOptions, registry: MetricRegistry);
increment(labels?: Record<string, any>, value?: number, timestamp?: number): void;
decrement(labels?: Record<string, any>, value?: number, timestamp?: number): void;
set(value: number, labels?: Record<string, any>, timestamp?: number): void;
reset(labels?: Record<string, any>, timestamp?: number): void;
resetAll(timestamp?: number): void;
generateSnapshot(): GaugeMetric.GaugeMetricSnapshot[];
}
export = GaugeMetric;