UNPKG

@ahmedhegazee/nestjs-telescope

Version:

Advanced observability and monitoring solution for NestJS applications with ML-powered analytics, enterprise features, and production-ready scaling

47 lines (46 loc) 1.53 kB
export interface MemoryManagerConfig { enabled: boolean; maxTimelineSize: number; metricsRetentionMs: number; cleanupIntervalMs: number; memoryThresholdMB: number; autoCleanup: boolean; compressionEnabled: boolean; } export interface MemoryStats { totalAllocated: number; timelineEntries: number; metricsEntries: number; lastCleanup: number; memoryUsageMB: number; compressionRatio: number; } export declare class EnhancedMemoryManagerService { private readonly logger; private readonly timelines; private readonly metrics; private readonly config; private cleanupTimer; constructor(config?: Partial<MemoryManagerConfig>); addTimelineEntry(timelineId: string, data: any): void; addMetricsEntry(key: string, value: any, ttlMs?: number): void; getTimelineEntries(timelineId: string, fromTimestamp?: number, toTimestamp?: number): any[]; getLatestMetrics(key: string, limit?: number): any[]; getMemoryStats(): MemoryStats; cleanup(): Promise<void>; clearTimeline(timelineId: string): void; clearMetrics(key: string): void; clearAll(): void; shutdown(): void; private lastCleanupTime; private startCleanupTimer; private cleanupOldTimelineEntries; private cleanupOldMetricsEntries; private cleanupAllExpiredMetrics; private cleanupExpiredMetrics; private checkMemoryUsage; private compressData; private decompressData; private simplifyObject; private calculateCompressionRatio; }