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
TypeScript
/**
* 🚀 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