/** * Agentic QE v3 - System Metrics Collector * Collects real system metrics for chaos engineering and performance testing */ export interface SystemMetrics { timestamp: Date; cpu: CpuMetrics; memory: MemoryMetrics; process: ProcessMetrics; } export interface CpuMetrics { usage: number; loadAverage: number[]; cores: number; } export interface MemoryMetrics { usage: number; total: number; free: number; used: number; } export interface ProcessMetrics { cpuUsage: number; memoryUsage: number; heapUsed: number; heapTotal: number; rss: number; uptime: number; } export interface MetricSample { name: string; value: number; timestamp: Date; labels?: Record; } export interface HttpMetrics { responseTimeMs: number; statusCode: number; success: boolean; } export declare class SystemMetricsCollector { private lastCpuUsage; private lastCpuTime; private metricHistory; private readonly maxHistorySize; constructor(maxHistorySize?: number); /** * Collect current system metrics */ collectSystemMetrics(): SystemMetrics; /** * Collect CPU metrics */ private collectCpuMetrics; /** * Collect memory metrics */ private collectMemoryMetrics; /** * Collect process-specific metrics */ private collectProcessMetrics; /** * Get a specific metric value by name */ getMetricValue(metricName: string): number; /** * Get metric suitable for chaos engineering context */ getChaosMetricValue(metric: string): number; /** * Record a metric sample */ recordMetric(name: string, value: number, labels?: Record): void; /** * Record HTTP response metrics */ recordHttpMetrics(metrics: HttpMetrics): void; /** * Get metric history */ getMetricHistory(name: string, limit?: number): MetricSample[]; /** * Calculate average of a metric over recent samples */ getMetricAverage(name: string, sampleCount?: number): number; /** * Estimate response time based on system load */ private getResponseTimeEstimate; /** * Estimate error rate based on recorded errors */ private getErrorRateEstimate; /** * Estimate throughput based on recorded requests */ private getThroughputEstimate; /** * Get latency percentile estimate */ private getLatencyPercentile; /** * Clear metric history */ clearHistory(): void; } export declare function getSystemMetricsCollector(): SystemMetricsCollector; //# sourceMappingURL=system-metrics.d.ts.map