import { EventEmitter } from 'events'; import { RealTimeMetrics, Alert } from './real-time-metrics-collector'; import { PerformanceBenchmarkSuite, BenchmarkReport } from './performance-benchmark-suite'; import { AdvancedLoadTester, LoadTestResult } from './advanced-load-tester'; export interface DashboardConfig { refreshInterval: number; dataRetentionPeriod: number; alertThresholds: AlertConfiguration; visualizations: VisualizationConfig[]; exportDirectory: string; webPort?: number; enableWebInterface?: boolean; } export interface AlertConfiguration { responseTime: { warning: number; critical: number; }; throughput: { warning: number; critical: number; }; errorRate: { warning: number; critical: number; }; memoryUsage: { warning: number; critical: number; }; cpuUsage: { warning: number; critical: number; }; customMetrics: Record; } export interface VisualizationConfig { type: 'line_chart' | 'bar_chart' | 'gauge' | 'heatmap' | 'table'; title: string; metrics: string[]; timeWindow: number; refreshRate: number; position: { row: number; col: number; width: number; height: number; }; } export interface DashboardMetrics { timestamp: Date; systemMetrics: RealTimeMetrics; performanceMetrics: PerformanceOverview; alerts: Alert[]; healthScore: number; trends: TrendAnalysis[]; recommendations: string[]; } export interface PerformanceOverview { averageResponseTime: number; currentThroughput: number; errorRate: number; activeConnections: number; queueDepth: number; successRate: number; totalOperations: number; operationsPerSecond: number; } export interface TrendAnalysis { metric: string; trend: 'improving' | 'stable' | 'degrading'; change: number; timeWindow: number; confidence: number; prediction: number; } export interface PerformanceAlert { id: string; timestamp: Date; severity: 'info' | 'warning' | 'critical'; category: 'performance' | 'reliability' | 'capacity' | 'security'; metric: string; currentValue: number; threshold: number; description: string; recommendation: string; autoResolve: boolean; resolved?: Date; } export interface DashboardWidget { id: string; type: string; title: string; data: any; config: VisualizationConfig; lastUpdated: Date; status: 'active' | 'error' | 'loading'; } export interface PerformanceSnapshot { timestamp: Date; metrics: DashboardMetrics; benchmarkResults?: BenchmarkReport[]; loadTestResults?: LoadTestResult[]; alerts: PerformanceAlert[]; systemHealth: SystemHealthStatus; } export interface SystemHealthStatus { overall: 'healthy' | 'warning' | 'critical'; components: ComponentHealth[]; uptime: number; lastIncident?: Date; mtbf: number; availability: number; } export interface ComponentHealth { component: string; status: 'healthy' | 'warning' | 'critical' | 'unknown'; responseTime: number; errorRate: number; lastCheck: Date; issues: string[]; } export declare class PerformanceDashboard extends EventEmitter { private config; private metricsCollector; private _benchmarkSuite?; private _loadTester?; private isRunning; private refreshTimer?; private metricsHistory; private alertHistory; private widgets; private webServer?; constructor(config: DashboardConfig); startDashboard(): Promise; stopDashboard(): Promise; addBenchmarkSuite(benchmarkSuite: PerformanceBenchmarkSuite): void; addLoadTester(loadTester: AdvancedLoadTester): void; private getLatestMetrics; private getActiveAlerts; getCurrentMetrics(): DashboardMetrics; getPerformanceSnapshot(): PerformanceSnapshot; getMetricsHistory(hours?: number): DashboardMetrics[]; exportDashboardData(format?: 'json' | 'csv' | 'html'): Promise; createAlert(alert: Omit): string; resolveAlert(alertId: string): boolean; addWidget(widget: Omit): void; removeWidget(widgetId: string): boolean; getWidgets(): DashboardWidget[]; getBenchmarkSuite(): PerformanceBenchmarkSuite | undefined; getLoadTester(): AdvancedLoadTester | undefined; private setupEventListeners; private initializeWidgets; private refreshDashboard; private calculatePerformanceOverview; private calculateTrends; private extractMetricValue; private calculateTrendDirection; private calculatePercentageChange; private predictNextValue; private calculateHealthScore; private generateRecommendations; private processMetricAlert; private getAlertRecommendation; private processMetrics; private checkThresholds; private analyzeTrendsForAlerts; private updateAllWidgets; private updateWidget; private generateLineChartData; private generateGaugeData; private generateTableData; private generateHeatmapData; private generateBarChartData; private updateWidgets; private getMetricColor; private getMetricMax; private getGaugeColor; private processBenchmarkResults; private processLoadTestResults; private calculateSystemHealth; private cleanupOldData; private startWebInterface; private stopWebInterface; private convertToCSV; private generateHTMLReport; } //# sourceMappingURL=performance-dashboard.d.ts.map