UNPKG

@neo-one/monitor

Version:

NEO•ONE monitoring.

60 lines (59 loc) 2.72 kB
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; }