UNPKG

codecrucible-synth

Version:

Production-Ready AI Development Platform with Multi-Voice Synthesis, Smithery MCP Integration, Enterprise Security, and Zero-Timeout Reliability

137 lines 3.6 kB
#!/usr/bin/env node /** * Performance Monitor - Consolidated performance tracking and metrics * Replaces: system-benchmark.ts, performance-optimized-client.ts, and scattered metrics */ import { EventEmitter } from 'events'; import { PerformanceMetrics, ProviderMetrics } from '../core/types.js'; export interface RequestMetrics { provider: string; model: string; startTime: number; endTime?: number; tokenCount?: number; success: boolean; error?: string; } export interface SystemMetrics { cpu: { usage: number; cores: number; }; memory: { used: number; total: number; percentage: number; }; disk: { used: number; total: number; percentage: number; }; } export interface PerformanceAlert { type: 'latency' | 'error_rate' | 'resource_usage'; severity: 'warning' | 'critical'; message: string; value: number; threshold: number; provider?: string; timestamp: Date; } export declare class PerformanceMonitor extends EventEmitter { private providerMetrics; private requestHistory; private systemMetrics; private alerts; private startTime; private monitoringEnabled; private monitoringInterval?; private lastAlertTimes; private readonly MAX_HISTORY_SIZE; private readonly ALERT_THRESHOLDS; constructor(enableMonitoring?: boolean); private initializeSystemMonitoring; /** * Disable monitoring and clean up intervals */ disableMonitoring(): void; /** * Clean up resources and disable monitoring */ destroy(): void; private updateSystemMetrics; private getCPUUsage; /** * Record a request for performance tracking */ recordRequest(provider: string, metrics: RequestMetrics): void; private updateProviderMetrics; private checkPerformanceAlerts; private createAlert; /** * Get metrics for a specific provider */ getProviderMetrics(provider?: string): Record<string, ProviderMetrics>; /** * Get overall performance summary */ getSummary(): PerformanceMetrics; /** * Get recent performance alerts */ getAlerts(limit?: number): PerformanceAlert[]; /** * Get system metrics */ getSystemMetrics(): SystemMetrics | null; /** * Get request history */ getRequestHistory(provider?: string, limit?: number): RequestMetrics[]; /** * Reset metrics for a provider */ resetProviderMetrics(provider: string): void; /** * Clear all metrics */ clearAllMetrics(): void; /** * Export metrics for analysis */ exportMetrics(): { summary: PerformanceMetrics; history: RequestMetrics[]; alerts: PerformanceAlert[]; system: SystemMetrics | null; exportTime: Date; }; /** * Get performance recommendations */ getRecommendations(): Array<{ type: 'performance' | 'reliability' | 'resource'; priority: 'low' | 'medium' | 'high'; description: string; action: string; }>; /** * Start performance monitoring */ start(): void; /** * Stop performance monitoring */ stop(): void; /** * Start operation tracking (for compatibility) */ startOperation(operationId: string, component?: string): void; /** * End operation tracking (for compatibility) */ endOperation(operationId: string): void; private operationTracking?; } //# sourceMappingURL=performance.d.ts.map