/** * OPC Agent Telemetry — Lightweight OTel-compatible tracing & metrics. * Zero external dependencies. Produces OTLP-compatible JSON. */ export interface Span { traceId: string; spanId: string; parentSpanId?: string; name: string; kind: 'internal' | 'client' | 'server'; startTime: number; endTime?: number; status: 'ok' | 'error' | 'unset'; attributes: Record; events: SpanEvent[]; } export interface SpanEvent { name: string; timestamp: number; attributes?: Record; } export interface Metric { name: string; type: 'counter' | 'gauge' | 'histogram'; value: number; timestamp: number; labels: Record; } export interface TraceExporter { export(spans: Span[]): Promise; } export declare function generateTraceId(): string; export declare function generateSpanId(): string; export declare class Tracer { private spans; private metrics; private maxSpans; private maxMetrics; private exporters; constructor(options?: { maxSpans?: number; maxMetrics?: number; }); startSpan(name: string, options?: { parent?: Span; attributes?: Record; kind?: Span['kind']; }): Span; endSpan(span: Span, status?: Span['status']): void; addEvent(span: Span, name: string, attributes?: Record): void; increment(name: string, value?: number, labels?: Record): void; gauge(name: string, value: number, labels?: Record): void; histogram(name: string, value: number, labels?: Record): void; private addMetric; getSpans(options?: { limit?: number; traceId?: string; name?: string; since?: number; }): Span[]; getMetrics(options?: { name?: string; since?: number; }): Metric[]; getTrace(traceId: string): Span[]; addExporter(exporter: TraceExporter): void; exportOTLP(): object; getStats(): { totalSpans: number; totalTraces: number; avgDuration: number; errorRate: number; spansByName: Record; p50Latency: number; p95Latency: number; p99Latency: number; }; clear(): void; } export declare class ConsoleExporter implements TraceExporter { export(spans: Span[]): Promise; } export declare class FileExporter implements TraceExporter { private filePath; constructor(filePath: string); export(spans: Span[]): Promise; } export declare class OTLPHttpExporter implements TraceExporter { private endpoint; constructor(endpoint: string); export(spans: Span[]): Promise; } //# sourceMappingURL=index.d.ts.map