@neo-one/monitor
Version:
NEO•ONE monitoring.
60 lines (59 loc) • 2.72 kB
TypeScript
import { BucketedMetricOptions, Counter, CounterBase, Gauge, GaugeBase, Histogram, HistogramBase, Labels, MetricOptions, MetricsFactory, PercentiledMetricOptions, Summary, SummaryBase } from './types';
export interface MetricConstruct {
readonly name: string;
readonly help: string;
readonly labelNames: string[];
readonly buckets?: number[];
readonly percentiles?: number[];
}
export declare class MetricProxy<T> {
protected readonly metric: T | undefined;
protected readonly labelNames: readonly string[];
constructor(metric?: T | undefined, labelNames?: readonly string[]);
getLabelNames(): readonly string[];
protected getLabels(countOrLabels?: Labels | number): Labels | number | void;
}
export declare class CounterProxy extends MetricProxy<CounterBase> implements Counter {
inc(countOrLabels?: Labels | number, count?: number): void;
}
export declare class GaugeProxy extends MetricProxy<GaugeBase> implements Gauge {
inc(countOrLabels?: Labels | number, count?: number): void;
dec(countOrLabels?: Labels | number, count?: number): void;
set(countOrLabels: Labels | number, count?: number): void;
}
export declare class HistogramProxy extends MetricProxy<HistogramBase> implements Histogram {
observe(countOrLabels: Labels | number, count?: number): void;
}
export declare class SummaryProxy extends MetricProxy<SummaryBase> implements Summary {
observe(countOrLabels: Labels | number, count?: number): void;
}
export declare class MetricsFactoryProxy implements MetricsFactory {
protected mutableCounters: {
[K in string]?: Counter;
};
protected mutableHistograms: {
[K in string]?: Histogram;
};
protected mutableGauges: {
[K in string]?: Gauge;
};
protected mutableSummaries: {
[K in string]?: Summary;
};
private mutableFactory;
reset_forTest(): void;
createCounter(options: MetricOptions): Counter;
createGauge(options: MetricOptions): Gauge;
createHistogram(options: MetricOptions): Histogram;
createSummary(options: MetricOptions): Summary;
setFactory(mutableFactory: MetricsFactory): void;
protected createCounterInternal(_options: MetricOptions): Counter;
protected createGaugeInternal(_options: MetricOptions): Gauge;
protected createHistogramInternal(_options: BucketedMetricOptions): Histogram;
protected createSummaryInternal(_options: PercentiledMetricOptions): Summary;
protected getMetricConstruct(options: MetricOptions | BucketedMetricOptions | PercentiledMetricOptions): MetricConstruct;
private createCounterHelper;
private createGaugeHelper;
private createHistogramHelper;
private createSummaryHelper;
}