@vtex/api
Version:
VTEX I/O API client
28 lines (27 loc) • 1.02 kB
TypeScript
import { Span, SpanContext, SpanOptions, Tracer } from 'opentracing';
export interface IUserLandTracer {
traceId?: string;
isTraceSampled: boolean;
startSpan: Tracer['startSpan'];
inject: Tracer['inject'];
fallbackSpanContext: () => SpanContext | undefined;
}
export declare const createTracingContextFromCarrier: (newSpanName: string, carrier: Record<string, any>) => {
span: Span;
tracer: IUserLandTracer;
};
export declare class UserLandTracer implements IUserLandTracer {
private tracer;
private fallbackSpan;
private fallbackSpanLock;
private _isSampled;
private _traceId?;
constructor(tracer: Tracer, fallbackSpan?: Span);
get traceId(): string | undefined;
get isTraceSampled(): boolean;
lockFallbackSpan(): void;
setFallbackSpan(newSpan?: Span): void;
startSpan(name: string, options?: SpanOptions): Span;
inject(spanContext: SpanContext | Span, format: string, carrier: any): void;
fallbackSpanContext(): SpanContext | undefined;
}