UNPKG

@gati-framework/observability

Version:

Observability stack for Gati framework - Prometheus, Grafana, Loki, and Tracing

22 lines (21 loc) 874 B
import * as api from '@opentelemetry/api'; export interface TracingConfig { serviceName: string; serviceVersion?: string; environment?: string; autoInstrument?: boolean; metricsPort?: number; } export declare class DistributedTracing { private sdk?; private tracer; constructor(config: TracingConfig); createSpan(name: string, attributes?: api.Attributes): api.Span; withSpan<T>(name: string, fn: (span: api.Span) => Promise<T>, attributes?: api.Attributes): Promise<T>; addEvent(name: string, attributes?: api.Attributes): void; setAttribute(key: string, value: api.AttributeValue): void; recordException(error: Error): void; getTraceContext(): string | undefined; shutdown(): Promise<void>; } export declare function createTracingMiddleware(tracing: DistributedTracing): (req: any, res: any, next: any) => void;