UNPKG

route-claudecode

Version:

Advanced routing and transformation system for Claude Code outputs to multiple AI providers

114 lines 3 kB
/** * CodeWhisperer 性能监控器 * 收集实时流式和缓冲式实现的性能指标 * 项目所有者: Jason Zhang */ import { PerformanceReport, SSEEvent } from '../client-interface'; import { CodeWhispererStreamingConfig } from './streaming-config'; export interface MetricsSnapshot { timestamp: number; memoryUsage: NodeJS.MemoryUsage; cpuUsage: NodeJS.CpuUsage; } export interface StreamMetrics { requestId: string; startTime: number; endTime?: number; eventsCount: number; totalLatency: number; maxLatency: number; minLatency: number; memorySnapshots: MetricsSnapshot[]; implementation: 'buffered' | 'realtime'; success: boolean; error?: string; } export declare class CodeWhispererPerformanceMetrics { private metrics; private config; private metricsInterval?; private aggregatedMetrics; constructor(config: CodeWhispererStreamingConfig); /** * 初始化聚合指标 */ private initializeAggregatedMetrics; /** * 开始性能指标收集 */ private startMetricsCollection; /** * 开始跟踪单个请求的性能 */ startTracking(requestId: string, implementation: 'buffered' | 'realtime'): void; /** * 记录事件延迟 */ recordLatency(requestId: string, event: SSEEvent): void; /** * 结束跟踪并生成性能报告 */ endTracking(requestId: string, success?: boolean, error?: string): PerformanceReport | null; /** * 更新聚合指标 */ private updateAggregatedMetrics; /** * 收集系统指标 */ private collectSystemMetrics; /** * 清理旧指标 */ private cleanupOldMetrics; /** * 获取聚合性能报告 */ getAggregatedReport(): { currentActiveRequests: number; timestamp: number; totalRequests: number; successfulRequests: number; failedRequests: number; avgDuration: number; avgLatency: number; memoryPeak: number; implementationStats: { buffered: { count: number; avgDuration: number; successRate: number; }; realtime: { count: number; avgDuration: number; successRate: number; }; }; }; /** * 获取当前活跃请求指标 */ getActiveRequestsMetrics(): StreamMetrics[]; /** * 比较两个实现的性能 */ compareImplementations(): { buffered: any; realtime: any; comparison: { durationImprovement: number; successRateImprovement: number; recommendation: 'realtime' | 'buffered' | 'mixed'; }; }; /** * 重置聚合指标 */ resetAggregatedMetrics(): void; /** * 销毁性能监控器 */ destroy(): void; } //# sourceMappingURL=performance-metrics.d.ts.map