@vtex/diagnostics-nodejs
Version:
Diagnostics library for Node.js applications
46 lines • 1.71 kB
TypeScript
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