UNPKG

@vtex/diagnostics-nodejs

Version:

Diagnostics library for Node.js applications

33 lines 1.62 kB
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