UNPKG

@vtex/diagnostics-nodejs

Version:

Diagnostics library for Node.js applications

46 lines 1.71 kB
import { CompositePropagator } from '@opentelemetry/core'; import { Attributes, Context, Span as OtelApiSpan, SpanKind } from '@opentelemetry/api'; import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node'; import { Sampler, SamplingDecision, Span as OtelSdkSpan } from '@opentelemetry/sdk-trace-base'; import { SamplingConfig, CompositionMode, AccountProvider, SamplerMetadataType } from './sampling'; export { Sampler, SamplingDecision, CompositionMode, AccountProvider, SamplerMetadataType }; export interface SpanOptions { attributes?: Attributes; kind?: SpanKind; timestamp?: number; parentContext?: Context; } export interface TracesClientConfig { exporter?: any; provider?: any; resource?: any; batchSize?: number; flushIntervalMs?: number; timeoutMillis?: number; maxQueueSize?: number; useSimpleProcessor?: boolean; processors?: any[]; setGlobalProvider?: boolean; sampler?: Sampler; propagateContext?: boolean; setGlobalPropagator?: boolean; sampling?: SamplingConfig; } export interface EnhancedContext extends Context { execute: (callback: () => void) => void; } export interface TraceClient { startSpan(name: string, options?: SpanOptions): OtelSdkSpan; endSpan(span: any): void; shutdown(): Promise<void>; getProvider(): NodeTracerProvider; getContext(): Context; getActiveSpan(): OtelApiSpan | undefined; inject(carrier: Record<string, string>, ctx?: Context): void; extract(headers: Record<string, string>): EnhancedContext; getPropagator(): CompositePropagator; } export interface InternalSpan { _getOtelSpan(): OtelApiSpan; } //# sourceMappingURL=traces.d.ts.map