/** * SMI-739: Custom Metrics Registration * SMI-755: Graceful fallback when OpenTelemetry unavailable * * Provides metrics collection for Skillsmith operations. * * @see metric-types.ts for type definitions * @see metric-helpers.ts for helper classes */ export type { MetricType, MetricsConfig, MetricLabels, Counter, Histogram, Gauge, MetricsSnapshot, } from './metric-types.js'; export { LATENCY_BUCKETS } from './metric-types.js'; import type { Counter, Histogram, Gauge, MetricsConfig, MetricsSnapshot } from './metric-types.js'; /** * Skillsmith Metrics Registry */ export declare class MetricsRegistry { private counters; private histograms; private gauges; private enabled; private initialized; private config; readonly mcpRequestLatency: Histogram; readonly mcpRequestCount: Counter; readonly mcpErrorCount: Counter; readonly dbQueryLatency: Histogram; readonly dbQueryCount: Counter; readonly cacheHits: Counter; readonly cacheMisses: Counter; readonly cacheSize: Gauge; readonly embeddingLatency: Histogram; readonly embeddingCount: Counter; readonly searchLatency: Histogram; readonly searchCount: Counter; readonly activeOperations: Gauge; constructor(config?: MetricsConfig); initialize(): Promise; isEnabled(): boolean; createCounter(name: string, _options?: { description?: string; unit?: string; }): Counter; createHistogram(name: string, _options?: { description?: string; unit?: string; buckets?: number[]; }): Histogram; createGauge(name: string, _options?: { description?: string; unit?: string; }): Gauge; getCacheHitRatio(): number; getSnapshot(): MetricsSnapshot; reset(): void; } export declare function getMetrics(): MetricsRegistry; export declare function initializeMetrics(config?: MetricsConfig): Promise; export declare function timeAsync(histogram: Histogram, fn: () => Promise, labels?: Record): Promise; export declare function timeSync(histogram: Histogram, fn: () => T, labels?: Record): T; //# sourceMappingURL=metrics.d.ts.map