@vtex/diagnostics-nodejs
Version:
Diagnostics library for Node.js applications
33 lines • 1.62 kB
TypeScript
import { Meter } from '@opentelemetry/api';
import { MeterProvider as SdkMeterProvider } from '@opentelemetry/sdk-metrics';
import { MetricsOption } from './options';
import { Counter } from './counter';
import { Gauge } from './gauge';
import { Histogram } from './histogram';
import { MetricsClientConfig, MetricOptions, MetricClient as MetricClientInterface } from '../types/metrics';
export interface MetricsClient extends MetricClientInterface {
meter(): Meter;
provider(): SdkMeterProvider;
counter(name: string, opts?: MetricsOption[]): Counter;
gauge(name: string, opts?: MetricsOption[]): Gauge;
histogram(name: string, opts?: MetricsOption[]): Histogram;
shutdown(): Promise<void>;
}
export declare class MetricsClientImpl implements MetricsClient {
private meterInstance;
private providerInstance;
constructor(config: MetricsClientConfig, serviceName: string, clientName: string);
meter(): Meter;
provider(): SdkMeterProvider;
counter(name: string, opts?: MetricsOption[]): Counter;
gauge(name: string, opts?: MetricsOption[]): Gauge;
histogram(name: string, opts?: MetricsOption[]): Histogram;
private createMetric;
createCounter(name: string, options?: MetricOptions): Counter;
createGauge(name: string, options?: MetricOptions): Gauge;
createHistogram(name: string, options?: MetricOptions): Histogram;
getProvider(): SdkMeterProvider;
shutdown(): Promise<void>;
}
export declare function NewClient(config: MetricsClientConfig, serviceName: string, clientName: string): Promise<MetricsClient>;
//# sourceMappingURL=client.d.ts.map