/** * System Performance Metrics */ export interface SystemPerformanceMetrics { timestamp: number; correlationId: string; memory: { totalConversations: number; totalThinkingBlocks: number; estimatedMemoryUsage: number; memoryPressure: 'low' | 'medium' | 'high' | 'critical'; avgConversationSize: number; cleanupOperations: number; memoryUtilizationPercent: number; }; resources: { heapUsedMB: number; totalMemoryMB: number; cpuUsagePercent: number; activeHandles: number; activeRequests: number; eventLoopDelayMs: number; uptimeSeconds: number; }; health: { degradationLevel: 'normal' | 'warning' | 'degraded' | 'critical'; configurationValid: boolean; configurationEnforced: boolean; systemHealthy: boolean; criticalIssues: number; warningIssues: number; }; performance: { activeCorrelations: number; avgResponseTimeMs: number; successRate: number; requestsPerMinute: number; errorRate: number; throughputMBps: number; }; components: { memoryManager: 'healthy' | 'warning' | 'critical'; resourceMonitor: 'healthy' | 'warning' | 'critical'; degradationManager: 'healthy' | 'warning' | 'critical'; correlationTracker: 'healthy' | 'warning' | 'critical'; configurationManager: 'healthy' | 'warning' | 'critical'; }; } /** * Metrics Collection Configuration */ export interface MetricsCollectionConfig { enabled: boolean; collectionIntervalMs: number; retentionPeriodMs: number; maxMetricsHistory: number; enablePerformanceTracing: boolean; enableResourceProfiling: boolean; alertThresholds: { memoryUsagePercent: number; cpuUsagePercent: number; errorRatePercent: number; responseTimeMs: number; }; } /** * Metrics Alert */ export interface MetricsAlert { id: string; timestamp: number; correlationId?: string; severity: 'low' | 'medium' | 'high' | 'critical'; category: 'memory' | 'performance' | 'health' | 'configuration' | 'security'; title: string; message: string; metrics: Partial; resolved: boolean; resolvedAt?: number; } /** * Metrics Trend Analysis */ export interface MetricsTrend { metric: string; period: 'last_hour' | 'last_24h' | 'last_week'; trend: 'increasing' | 'decreasing' | 'stable'; changePercent: number; currentValue: number; prediction: { nextHour: number; confidence: number; }; } /** * System Metrics Collector * Comprehensive performance monitoring and alerting system */ export declare class SystemMetricsCollector { private static instance; private config; private metricsHistory; private activeAlerts; private collectionTimer?; private lastCollectionTime; private performanceBaseline?; private constructor(); static getInstance(config?: MetricsCollectionConfig): SystemMetricsCollector; /** * Start metrics collection */ startCollection(): void; /** * Stop metrics collection */ stopCollection(): void; /** * Collect comprehensive system metrics */ collectMetrics(): Promise; /** * Process collected metrics and trigger alerts */ private processMetrics; /** * Check metrics against alert thresholds */ private checkAlerts; /** * Calculate memory utilization percentage */ private calculateMemoryUtilization; /** * Calculate CPU usage percentage */ private calculateCpuPercent; /** * Calculate performance metrics */ private calculatePerformanceMetrics; /** * Assess individual component health */ private assessComponentHealth; /** * Get recent metrics within specified time window */ getRecentMetrics(timeWindowMs: number): SystemPerformanceMetrics[]; /** * Get current system metrics summary */ getCurrentSummary(): { status: 'healthy' | 'warning' | 'critical'; summary: string; metrics: SystemPerformanceMetrics | null; alertCount: number; uptime: number; }; /** * Generate trend analysis */ generateTrendAnalysis(): MetricsTrend[]; /** * Calculate trend for a specific metric */ private calculateTrend; /** * Get active alerts */ getActiveAlerts(): MetricsAlert[]; /** * Get metrics history */ getMetricsHistory(limit?: number): SystemPerformanceMetrics[]; /** * Update metrics collection configuration */ updateConfiguration(newConfig: Partial): void; /** * Clear metrics history and alerts (for testing) */ clearHistory(): void; /** * Get metrics collection statistics */ getCollectionStats(): { enabled: boolean; collectionInterval: number; metricsCount: number; oldestMetric?: number; newestMetric?: number; memoryUsageMB: number; }; } export declare const systemMetricsCollector: SystemMetricsCollector; /** * Helper function to start metrics collection with configuration */ export declare function startSystemMonitoring(config?: Partial): void; /** * Helper function to get system health status */ export declare function getSystemHealth(): { healthy: boolean; status: string; criticalAlerts: number; recommendations: string[]; }; //# sourceMappingURL=systemMetricsCollector.d.ts.map