UNPKG

snow-flow

Version:

Snow-Flow v3.2.0: Complete ServiceNow Enterprise Suite with 180+ MCP Tools. ATF Testing, Knowledge Management, Service Catalog, Change Management with CAB scheduling, Virtual Agent chatbots with NLU, Performance Analytics KPIs, Flow Designer automation, A

172 lines • 5.2 kB
/** * 🚀 PERFORMANCE FIX: Enhanced Monitoring System * Advanced real-time monitoring with predictive analytics, alerting, and dashboards * * Addresses beta testing feedback on performance monitoring gaps */ import { EventEmitter } from 'events'; import { PerformanceTracker } from './performance-tracker'; import { MemorySystem } from '../memory/memory-system'; export interface MonitoringConfig { realTimeEnabled: boolean; predictiveAnalyticsEnabled: boolean; alertingEnabled: boolean; dashboardEnabled: boolean; websocketPort: number; alertThresholds: AlertThresholds; retentionPeriods: RetentionPeriods; } export interface AlertThresholds { cpuUsage: number; memoryUsage: number; diskUsage: number; responseTime: number; errorRate: number; cacheHitRate: number; queueDepth: number; } export interface RetentionPeriods { realTimeMetrics: number; hourlyAggregates: number; dailyAggregates: number; weeklyAggregates: number; } export interface SystemHealth { overall: 'healthy' | 'warning' | 'critical' | 'unknown'; components: { cpu: ComponentHealth; memory: ComponentHealth; disk: ComponentHealth; network: ComponentHealth; database: ComponentHealth; cache: ComponentHealth; api: ComponentHealth; }; alerts: ActiveAlert[]; recommendations: string[]; predictedIssues: PredictedIssue[]; } export interface ComponentHealth { status: 'healthy' | 'warning' | 'critical' | 'unknown'; value: number; threshold: number; trend: 'improving' | 'stable' | 'degrading'; lastUpdated: Date; details: string; } export interface ActiveAlert { id: string; severity: 'low' | 'medium' | 'high' | 'critical'; component: string; message: string; timestamp: Date; acknowledged: boolean; count: number; firstSeen: Date; } export interface PredictedIssue { type: 'resource_exhaustion' | 'performance_degradation' | 'capacity_limit' | 'error_spike'; component: string; description: string; probability: number; estimatedTime: Date; impact: 'low' | 'medium' | 'high' | 'critical'; recommendations: string[]; } export interface PerformanceTrend { metric: string; period: 'hour' | 'day' | 'week' | 'month'; trend: 'improving' | 'stable' | 'degrading'; percentageChange: number; currentValue: number; historicalAverage: number; volatility: number; } export interface ResourceForecast { resource: string; currentUsage: number; predictedUsage: number; timeHorizon: number; confidence: number; exhaustionDate?: Date; recommendations: string[]; } export declare class EnhancedMonitoringSystem extends EventEmitter { private performanceTracker; private memory; private logger; private config; private websocketServer?; private httpServer?; private activeAlerts; private metricHistory; private systemHealth; private monitoringInterval?; private alertingInterval?; private predictionInterval?; private connectedClients; constructor(performanceTracker: PerformanceTracker, memory: MemorySystem, config?: Partial<MonitoringConfig>); /** * Start the enhanced monitoring system */ start(): Promise<void>; /** * Get current system health status */ getSystemHealth(): Promise<SystemHealth>; /** * Get performance trends for specified periods */ getPerformanceTrends(periods?: string[]): Promise<PerformanceTrend[]>; /** * Get resource usage forecasts */ getResourceForecasts(timeHorizonHours?: number): Promise<ResourceForecast[]>; /** * Generate comprehensive monitoring report */ generateMonitoringReport(period?: 'hour' | 'day' | 'week' | 'month'): Promise<any>; /** * Acknowledge an alert */ acknowledgeAlert(alertId: string, acknowledgedBy: string): Promise<boolean>; /** * Get active alerts */ getActiveAlerts(): Promise<ActiveAlert[]>; /** * Private Methods */ private initializeSystemHealth; private createMonitoringTables; private startRealTimeMonitoring; private startAlertingSystem; private startPredictiveAnalytics; private startDashboardServer; private setupPerformanceTrackerIntegration; private collectSystemMetrics; private storeMetric; private updateSystemHealth; private calculateComponentTrend; private checkAlertConditions; private createAlert; private cleanupOldAlerts; private runPredictiveAnalysis; private predictResourceExhaustion; private calculateTrend; private generateResourceForecast; private calculateGrowthRate; private calculatePerformanceScore; private generateSmartRecommendations; private getDataPointCount; private handleWebSocketConnection; private handleWebSocketMessage; private handleHttpRequest; private generateDashboardHtml; private broadcastToClients; /** * Shutdown the monitoring system */ shutdown(): Promise<void>; } //# sourceMappingURL=enhanced-monitoring-system.d.ts.map