/** * RuntimeMeter, lightweight OTel-compatible metric instruments. * * Provides Counter, Histogram, and Gauge instruments without depending * on the @opentelemetry/* packages. * * All operations are synchronous and allocation-light. Label sets are * serialised to a stable string key for Map lookups. */ import type { Counter, Gauge, Histogram, MeterConfig } from './types.js'; /** * RuntimeMeter, creates and caches named metric instruments. * * Usage: * ```ts * const turns = meter.counter('turn.completed'); * turns.add(1, { provider: 'anthropic' }); * * const latency = meter.histogram('llm.latency.ms'); * latency.record(342, { model: 'claude-3-5-sonnet' }); * * const activeConns = meter.gauge('mcp.connections.active'); * activeConns.set(3); * ``` */ export declare class RuntimeMeter { private readonly config; private readonly _counters; private readonly _histograms; private readonly _gauges; constructor(config: MeterConfig); /** Return the meter's instrumentation scope name. */ get scope(): string; /** * Get or create a named counter (monotonically increasing). * Repeated calls with the same name return the same instrument. */ counter(name: string): Counter; /** * Get or create a named histogram (distribution of values). * Repeated calls with the same name return the same instrument. */ histogram(name: string): Histogram; /** * Get or create a named gauge (point-in-time value). * Repeated calls with the same name return the same instrument. */ gauge(name: string): Gauge; /** * Reset all accumulated values on every registered instrument. * Intended for test isolation only, clears counter sums, histogram accumulators, * and gauge values on the singleton meter so tests do not bleed state. */ reset(): void; } //# sourceMappingURL=meter.d.ts.map