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

157 lines 4.01 kB
/** * Snow-Flow System Health Monitoring * Comprehensive health checks for all components */ import { EventEmitter } from 'events'; import { MemorySystem } from '../memory/memory-system'; import { MCPServerManager } from '../utils/mcp-server-manager'; export interface HealthCheckResult { component: string; status: 'healthy' | 'degraded' | 'unhealthy' | 'unknown'; message: string; details?: Record<string, any>; timestamp: Date; responseTime?: number; error?: string; } export interface SystemHealthStatus { healthy: boolean; status: 'healthy' | 'degraded' | 'unhealthy'; timestamp: Date; components: { memory: HealthCheckResult; mcp: HealthCheckResult; servicenow: HealthCheckResult; queen: HealthCheckResult; system: HealthCheckResult; performance: HealthCheckResult; }; metrics: { uptime: number; totalChecks: number; failedChecks: number; avgResponseTime: number; systemResources: SystemResources; }; } export interface SystemResources { cpuUsage: number; memoryUsage: number; memoryTotal: number; diskUsage: number; diskTotal: number; loadAverage: number[]; processCount: number; } export interface HealthThresholds { responseTime: number; memoryUsage: number; cpuUsage: number; queueSize: number; errorRate: number; } interface HealthConfig { memory: MemorySystem; mcpManager: MCPServerManager; config: { checks: { memory: boolean; mcp: boolean; servicenow: boolean; queen: boolean; }; thresholds: HealthThresholds; }; } export declare class SystemHealth extends EventEmitter { private memory; private mcpManager; private logger; private config; private serviceNowClient?; private checkInterval?; private checkHistory; private startTime; private totalChecks; private failedChecks; private lastCPUInfo; private cpuCheckInterval?; constructor(options: HealthConfig); /** * Initialize health monitoring */ initialize(): Promise<void>; /** * Start periodic health monitoring */ startMonitoring(intervalMs?: number): Promise<void>; /** * Stop health monitoring */ stopMonitoring(): Promise<void>; /** * Perform comprehensive health check */ performHealthCheck(): Promise<SystemHealthStatus>; /** * Get full health status */ getFullStatus(): Promise<SystemHealthStatus>; /** * Get health history */ getHealthHistory(limit?: number): Promise<HealthCheckResult[]>; /** * Check if system is healthy */ isHealthy(): Promise<boolean>; /** * Private health check methods */ private checkMemory; private checkMCP; private checkServiceNow; private checkQueen; private checkSystem; private checkPerformance; private createSkippedResult; private getSystemResources; private createHealthTables; private storeHealthResult; private checkAlerts; private calculateAverageResponseTime; /** * Calculate real CPU usage with averaging */ private calculateCPUUsage; /** * Get real disk usage statistics */ private getDiskUsage; /** * Get disk usage for Unix-based systems (macOS, Linux) */ private getUnixDiskUsage; /** * Get disk usage for Windows systems */ private getWindowsDiskUsage; /** * Get process-specific memory usage */ private getProcessMemoryUsage; /** * Check network connectivity */ private checkNetworkConnectivity; /** * Get additional SQLite database statistics */ private getExtendedDatabaseStats; /** * Enhanced system check with more detailed metrics */ private getEnhancedSystemMetrics; } export {}; //# sourceMappingURL=system-health.d.ts.map