UNPKG

@nodedaemon/core

Version:

Production-ready Node.js process manager with zero external dependencies

49 lines 1.38 kB
import { EventEmitter } from 'events'; import { ProcessInfo } from '../types'; import { LogManager } from './LogManager'; interface ProcessMetrics { pid: number; memory: { rss: number; heapTotal: number; heapUsed: number; external: number; }; cpu: { user: number; system: number; percent: number; }; uptime: number; timestamp: number; } export declare class HealthMonitor extends EventEmitter { private logger; private processes; private metrics; private monitorInterval; private isMonitoring; private checkInterval; constructor(logger: LogManager); addProcess(processInfo: ProcessInfo): void; removeProcess(processId: string): void; updateProcess(processInfo: ProcessInfo): void; startMonitoring(): void; stopMonitoring(): void; private performHealthCheck; private checkInstanceHealth; private getProcessMetrics; private getPlatformMetrics; private getLinuxMetrics; private getMacMetrics; private getWindowsMetrics; private detectMemoryLeak; private detectCPUSpikes; private analyzeHealthTrends; getMetricsHistory(pid: number): ProcessMetrics[]; getHealthSummary(): any; setCheckInterval(interval: number): void; clearMetrics(): void; } export {}; //# sourceMappingURL=HealthMonitor.d.ts.map