@vtex/diagnostics-nodejs
Version:
Diagnostics library for Node.js applications
27 lines • 1.34 kB
TypeScript
import { Context, Span as OtelApiSpan } from '@opentelemetry/api';
import { Span as OtelSdkSpan } from '@opentelemetry/sdk-trace-base';
import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
import { TracesClientConfig, SpanOptions, EnhancedContext, TraceClient } from '../types';
import { Span } from './span';
import { CompositePropagator } from '@opentelemetry/core';
import { TracesConfig } from '../config';
export declare class TraceClientImpl implements TraceClient {
private otelTracer;
private tracerProvider;
private exporter?;
private standardPropagator;
private configurableSampler;
constructor(config: TracesClientConfig, serviceName: string, clientName: string);
updateTracesConfig(newConfig: TracesConfig): void;
getProvider(): NodeTracerProvider;
startSpan(name: string, options?: SpanOptions): OtelSdkSpan;
endSpan(span: Span): void;
getPropagator(): CompositePropagator;
inject(headers: Record<string, string>, ctx?: Context): void;
extract(headers: Record<string, string>): EnhancedContext;
getContext(): Context;
getActiveSpan(): OtelApiSpan | undefined;
shutdown(): Promise<void>;
}
export declare const NewClient: (config: TracesClientConfig, serviceName: string, clientName: string) => Promise<TraceClient>;
//# sourceMappingURL=client.d.ts.map