taskflow-ai
Version:
TaskFlow AI - 智能PRD文档解析与任务管理助手,支持多模型AI协同、MCP编辑器集成,专为开发团队设计的CLI工具
156 lines (155 loc) • 3.34 kB
TypeScript
/**
* 内存管理器 - 优化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 {};