export interface ProfilerRuntimeOptions { enabled?: boolean; interval?: number; historySize?: number; } export interface RuntimeSample { at: number; memory: { rss: number; heapTotal: number; heapUsed: number; external: number; arrayBuffers: number; percentOfTotal: number; }; cpu: { user: number; system: number; percent: number; }; eventLoop: { lag: { mean: number; p50: number; p99: number; max: number; }; utilization: number; }; gc: { count: number; duration: number; byKind: { minor: { count: number; duration: number; }; major: { count: number; duration: number; }; incremental: { count: number; duration: number; }; }; }; } export interface RuntimeHeapStatistics { totalHeapSize: number; usedHeapSize: number; heapSizeLimit: number; percentOfLimit: number; mallocedMemory: number; externalMemory: number; spaces: { name: string; size: number; used: number; available: number; }[]; } export interface RuntimeProcessInfo { pid: number; uptime: number; nodeVersion: string; platform: string; arch: string; cpuCount: number; totalMemory: number; loadAverage: number[]; } export interface RuntimeCollectorData { enabled: boolean; interval: number; process: RuntimeProcessInfo; heap: RuntimeHeapStatistics; current?: RuntimeSample; history: RuntimeSample[]; }