/** * ThreadTS Universal - Performance Monitoring System * Advanced performance tracking and diagnostics */ export interface PerformanceMetrics { timestamp: number; cpuUsage?: number; memoryUsage: { used: number; total: number; heap?: { used: number; total: number; limit: number; }; }; executionTime: number; throughput: number; errorRate: number; workerPoolStats?: { activeWorkers: number; idleWorkers: number; queuedTasks: number; averageTaskTime: number; }; } export interface PerformanceAlert { type: 'memory' | 'cpu' | 'latency' | 'error_rate' | 'throughput'; severity: 'low' | 'medium' | 'high' | 'critical'; message: string; threshold: number; actualValue: number; timestamp: number; recommendations: string[]; } export declare class PerformanceMonitor { private metrics; private alerts; private isMonitoring; private monitoringInterval?; private readonly thresholds; /** * Starts continuous performance monitoring */ startMonitoring(intervalMs?: number): void; /** * Stops performance monitoring */ stopMonitoring(): void; /** * Collects current performance metrics */ collectMetrics(): PerformanceMetrics; /** * Gets current memory usage information */ private getMemoryUsage; /** * Gets CPU usage (Node.js only) */ private getCPUUsage; /** * Calculates average execution time from recent operations */ private getAverageExecutionTime; /** * Calculates current throughput (operations per second) */ private calculateThroughput; /** * Calculates current error rate */ private calculateErrorRate; /** * Checks if metrics exceed thresholds and creates alerts */ private checkThresholds; /** * Creates a performance alert */ private createAlert; /** * Gets recent performance metrics */ getMetrics(count?: number): PerformanceMetrics[]; /** * Gets recent alerts */ getAlerts(count?: number): PerformanceAlert[]; /** * Generates a performance summary report */ generateReport(): string; /** * Resets all collected metrics and alerts */ reset(): void; /** * Gets the monitoring status */ isActive(): boolean; } export declare const performanceMonitor: PerformanceMonitor; //# sourceMappingURL=performance.d.ts.map