@vtex/diagnostics-nodejs
Version:
Diagnostics library for Node.js applications
35 lines • 1.23 kB
TypeScript
import { Attributes } from '@opentelemetry/api';
import { Exporter } from './exporters';
import { Resource } from '@opentelemetry/resources';
import { MeterProvider, ViewOptions } from '@opentelemetry/sdk-metrics';
export interface MetricOptions {
description?: string;
unit?: string;
}
export interface MetricClient {
createCounter(name: string, options?: MetricOptions): Counter;
createGauge(name: string, options?: MetricOptions): Gauge;
createHistogram(name: string, options?: MetricOptions): Histogram;
shutdown(): Promise<void>;
getProvider(): MeterProvider;
}
export interface Counter {
add(value: number, attributes?: Attributes): void;
increment(attributes?: Attributes): void;
}
export interface Gauge {
add(value: number, attributes?: Attributes): void;
set(value: number, attributes?: Attributes): void;
subtract(value: number, attributes?: Attributes): void;
}
export interface Histogram {
record(value: number, attributes?: Attributes): void;
}
export interface MetricsClientConfig {
resource?: Resource;
provider?: MeterProvider;
exporter?: Exporter;
views?: ViewOptions[];
setGlobalProvider?: boolean;
}
//# sourceMappingURL=metrics.d.ts.map