/** * Enhanced System Monitor Service * Provides comprehensive system health and performance metrics */ export interface CPUInfo { usage: number; temperature?: number; cores: number; model: string; speed: number; loadAverage: number[]; } export interface MemoryInfo { total: number; used: number; free: number; percentage: number; available?: number; active?: number; inactive?: number; buffers?: number; cached?: number; swap?: { total: number; used: number; free: number; percentage?: number; }; process?: { rss: number; heapTotal: number; heapUsed: number; external: number; arrayBuffers: number; }; breakdown?: { apps: number; pageCache: number; buffers: number; slab: number; kernelStack: number; pageTables: number; vmallocUsed: number; }; } export interface DiskInfo { total: number; used: number; free: number; percentage: number; io?: { readBytes: number; writeBytes: number; readOps: number; writeOps: number; }; } export interface NetworkInterfaceInfo { name: string; addresses: string[]; mac: string; speed?: number; stats?: { rxBytes: number; txBytes: number; rxPackets: number; txPackets: number; rxErrors: number; txErrors: number; }; } export interface SystemInfo { platform: string; arch: string; version: string; kernel: string; hostname: string; uptime: number; bootTime: Date; } export interface ProcessInfo { pid: number; name: string; cpu: number; memory: number; uptime: number; } export interface SystemHealth { cpu: CPUInfo; memory: MemoryInfo; disk: DiskInfo; system: SystemInfo; network: { interfaces: NetworkInterfaceInfo[]; connections: number; }; processes?: ProcessInfo[]; timestamp: Date; } declare class SystemMonitor { private cpuUsageHistory; private lastCPUInfo; private diskIOCache; /** * Get comprehensive system health metrics */ getSystemHealth(): Promise; /** * Get CPU information including temperature */ getCPUInfo(): Promise; /** * Calculate CPU usage percentage */ private calculateCPUUsage; /** * Get CPU temperature (platform-specific) */ private getCPUTemperature; /** * Get memory information including swap and detailed breakdown */ getMemoryInfo(): Promise; /** * Get detailed memory breakdown (Linux only) */ private getDetailedMemoryInfo; /** * Get swap memory information */ private getSwapInfo; /** * Get disk information including I/O stats */ getDiskInfo(): Promise; /** * Get disk I/O statistics */ private getDiskIOStats; /** * Get system information */ getSystemInfo(): Promise; /** * Get network information */ getNetworkInfo(): Promise<{ interfaces: NetworkInterfaceInfo[]; connections: number; }>; /** * Get detailed network interface information */ private getNetworkInterfaces; /** * Get network interface statistics */ private getInterfaceStats; /** * Get detailed network statistics with bandwidth usage */ getNetworkStatistics(): Promise<{ interfaces: NetworkInterfaceInfo[]; totalBytesReceived: number; totalBytesSent: number; totalPacketsReceived: number; totalPacketsSent: number; connections: number; bandwidth?: { download: number; upload: number; }; }>; /** * Calculate bandwidth based on byte counters */ private lastNetworkMeasurement?; private calculateBandwidth; /** * Get active network connections by state */ getNetworkConnectionsByState(): Promise<{ established: number; listening: number; timeWait: number; closeWait: number; total: number; }>; /** * Get number of network connections */ private getNetworkConnections; /** * Get top processes by CPU or memory usage */ getTopProcesses(sortBy?: "cpu" | "memory", limit?: number): Promise; /** * Get CPU usage history */ getCPUHistory(): number[]; /** * Monitor system health continuously */ startMonitoring(interval?: number, callback?: (health: SystemHealth) => void): Promise; } export declare function getSystemMonitor(): SystemMonitor; export default SystemMonitor; //# sourceMappingURL=systemMonitor.d.ts.map