UNPKG

couchbase

Version:

The official Couchbase Node.js Client Library.

52 lines (51 loc) 1.91 kB
import { Meter, ValueRecorder } from './metrics'; import type { Histogram as OTelHistogram, Meter as OTelMeter, MeterProvider as OTelMeterProvider } from '@opentelemetry/api'; /** * Wrapper class for OpenTelemetry Histogram that implements ValueRecorder interface. */ export declare class OTelValueRecorder implements ValueRecorder { private _histogram; private _tags; private _unit?; /** * Creates an instance of OTelValueRecorder. * * @param histogram - OpenTelemetry Histogram to record values. * @param tags - Tags to associate with recorded values. * @param unit - Optional unit of measurement (e.g., 's' for seconds). If provided, it indicates that the recorded values * should be converted from microseconds to seconds. */ constructor(histogram: OTelHistogram, tags: Record<string, string>, unit?: string); /** * Records a value with the associated tags. * * @param value - The numeric value to record. */ recordValue(value: number): void; } /** * Wrapper class for OpenTelemetry Meter that implements Meter interface. */ export declare class OTelWrapperMeter implements Meter { private _otelMeter; private _histograms; /** * Creates an instance of OTelWrapperMeter. * * @param meter - OpenTelemetry Meter to wrap. */ constructor(meter: OTelMeter); /** * Creates a ValueRecorder for recording metric values. * * @param name - The name of the metric. * @param tags - Tags to associate with recorded values. * @returns A ValueRecorder instance for recording metrics. */ valueRecorder(name: string, tags: Record<string, any>): ValueRecorder; } /** * Creates an OpenTelemetry wrapper meter. * Throws an Error if @opentelemetry/api is not installed. */ export declare function getOTelMeter(provider?: OTelMeterProvider): Meter;