/** * Infrastructure: Advanced Metrics Collector * Tracks latency percentiles, throughput, and other advanced metrics */ export interface LatencyMetrics { readonly p50: number; readonly p95: number; readonly p99: number; readonly p999: number; readonly min: number; readonly max: number; readonly avg: number; readonly count: number; } export interface CompressionMetrics { readonly avgRatio: number; readonly avgTime: number; readonly totalOriginalBytes: number; readonly totalCompressedBytes: number; readonly totalSavedBytes: number; readonly count: number; } export declare class MetricsCollector { private latencies; private compressionRatios; private compressionTimes; private operationTimestamps; private totalOriginalBytes; private totalCompressedBytes; private readonly maxSamples; /** * Record a latency measurement */ recordLatency(ms: number): void; /** * Record compression metrics */ recordCompression(originalSize: number, compressedSize: number, timeMs: number): void; /** * Get latency percentiles */ getLatencyMetrics(): LatencyMetrics; /** * Get compression metrics */ getCompressionMetrics(): CompressionMetrics; /** * Calculate percentile from sorted array */ private getPercentile; /** * Reset all metrics */ reset(): void; /** * Get throughput (operations per second) */ getThroughput(windowSeconds?: number): number; } //# sourceMappingURL=MetricsCollector.d.ts.map