UNPKG

@vtex/diagnostics-nodejs

Version:

Diagnostics library for Node.js applications

51 lines 1.6 kB
import { Attributes, SpanKind } from '@opentelemetry/api'; export { SamplingDecision, Sampler, SamplingResult } from '@opentelemetry/sdk-trace-base'; export { SpanKind } from '@opentelemetry/api'; export declare enum CompositionMode { SampleIfAny = "sample_if_any", SampleIfAll = "sample_if_all" } export interface AccountProvider { getDefaultRate(): number; getSamplingRate(accountId: string): [number, boolean]; } export interface SpanOptions { attributes?: Record<string, any>; kind?: SpanKind; timestamp?: number; } export interface BaseAttributes { [key: string]: string | number | boolean | undefined; } export interface ContribInstrumentationFunc { (tracerProvider: any): void; } export interface TraceClient { initialize(): Promise<void>; startSpan(name: string, options?: SpanOptions): any; setSpanAttributes(span: any, attributes: BaseAttributes): void; setSpanError(span: any, error: Error): void; endSpan(span: any): void; shutdown(): Promise<void>; } export interface SamplerMetadataType { samplerType: string; decision: string; reason: string; extra: Record<string, string>; toAttributes(): Attributes; } export interface AccountConfig { defaultRate: number; } export interface StaticProviderConfig extends AccountConfig { accounts: Record<string, number>; } export interface FileSourceConfig { path: string; refreshIntervalMs?: number; } export interface ConfigurableProviderConfig extends AccountConfig { initialAccounts?: Record<string, number>; } //# sourceMappingURL=tracer.d.ts.map