import { ClsService } from "nestjs-cls"; import { SpanOptions, TracingContext } from "../interfaces/tracing.interface"; export declare class TracingService { private readonly clsService; private tracer; private isEnabled; private readonly tempoConfig; constructor(clsService: ClsService); /** * Start a new span */ startSpan(name: string, options?: SpanOptions): any; /** * Start a child span from the current active span */ createChildSpan(name: string, options?: SpanOptions): any; /** * Start a span for an HTTP request */ startHttpSpan(method: string, url: string, userIp?: string): any; /** * Add an attribute to the current active span */ addSpanAttribute(key: string, value: string | number | boolean): void; /** * Add multiple attributes to the current active span */ addSpanAttributes(attributes: Record): void; /** * Add an event to the current active span */ addSpanEvent(name: string, attributes?: Record): void; /** * Set span status to error */ setSpanError(error: Error | string): void; /** * Set span status to OK */ setSpanSuccess(): void; /** * End the current span */ endSpan(span?: any): void; /** * Get the current trace ID */ getCurrentTraceId(): string | undefined; /** * Get the current span ID */ getCurrentSpanId(): string | undefined; /** * Get the current tracing context */ getCurrentTracingContext(): TracingContext | undefined; /** * Get the active span from context */ getActiveSpan(): any; /** * Set the current span in CLS context */ private setCurrentSpan; /** * Execute a function within a span context */ withSpan(name: string, fn: (span: any) => T, options?: SpanOptions): T; /** * Check if tracing is enabled */ isTracingEnabled(): boolean; } //# sourceMappingURL=tracing.service.d.ts.map