UNPKG

taskflow-ai

Version:

TaskFlow AI - 智能PRD文档解析与任务管理助手,支持多模型AI协同、MCP编辑器集成,专为开发团队设计的CLI工具

156 lines (155 loc) 3.34 kB
/** * 内存管理器 - 优化TaskFlow AI的内存使用 * 提供内存监控、垃圾回收、内存泄漏检测等功能 */ import { Logger } from '../../infra/logger'; import { ConfigManager } from '../../infra/config'; /** * 内存使用统计 */ export interface MemoryStats { heapUsed: number; heapTotal: number; external: number; rss: number; arrayBuffers: number; timestamp: Date; } /** * 内存阈值配置 */ export interface MemoryThresholds { warning: number; critical: number; maximum: number; } /** * 内存泄漏检测结果 */ export interface MemoryLeakDetection { isLeaking: boolean; growthRate: number; suspiciousObjects: string[]; recommendations: string[]; } /** * 对象池接口 */ interface ObjectPool<T> { acquire(): T; release(obj: T): void; size(): number; clear(): void; } /** * 内存管理器类 */ export declare class MemoryManager { private logger; private configManager; private thresholds; private memoryHistory; private objectPools; private weakRefs; private monitoringInterval?; private gcInterval?; constructor(logger: Logger, configManager: ConfigManager); /** * 获取当前内存统计 */ getCurrentMemoryStats(): MemoryStats; /** * 获取内存历史记录 */ getMemoryHistory(): MemoryStats[]; /** * 检测内存泄漏 */ detectMemoryLeak(): MemoryLeakDetection; /** * 强制垃圾回收 */ forceGarbageCollection(): void; /** * 创建对象池 */ createObjectPool<T>(name: string, factory: () => T, reset?: (obj: T) => void, maxSize?: number): ObjectPool<T>; /** * 获取对象池 */ getObjectPool<T>(name: string): ObjectPool<T> | undefined; /** * 注册弱引用 */ registerWeakRef<T extends object>(obj: T): WeakRef<T>; /** * 清理弱引用 */ cleanupWeakRefs(): number; /** * 优化内存使用 */ optimizeMemoryUsage(): void; /** * 获取内存使用报告 */ generateMemoryReport(): { current: MemoryStats; trend: 'increasing' | 'decreasing' | 'stable'; leakDetection: MemoryLeakDetection; objectPools: Array<{ name: string; size: number; }>; recommendations: string[]; }; /** * 销毁内存管理器 */ destroy(): void; /** * 加载内存阈值配置 */ private loadMemoryThresholds; /** * 启动内存监控 */ private startMemoryMonitoring; /** * 启动定期垃圾回收 */ private startPeriodicGC; /** * 设置进程处理器 */ private setupProcessHandlers; /** * 计算内存增长率 */ private calculateGrowthRate; /** * 识别可疑对象 */ private identifySuspiciousObjects; /** * 生成建议 */ private generateRecommendations; /** * 分析趋势 */ private analyzeTrend; /** * 执行内存优化 */ private performMemoryOptimization; /** * 执行紧急优化 */ private performEmergencyOptimization; /** * 生成通用建议 */ private generateGeneralRecommendations; } export {};