/** * Resource tracking logic for CPU and memory monitoring */ import type { InternalResourceMeasurement } from '../types/middleware.types'; /** * Resource tracker for monitoring CPU and memory usage per request */ export declare function createResourceTracker(): { startTracking: typeof startTracking; stopTracking: typeof stopTracking; getSystemMetrics: typeof getSystemMetrics; }; /** * Start resource tracking for a request */ export declare function startTracking(): InternalResourceMeasurement; /** * Stop resource tracking and calculate deltas */ export declare function stopTracking(startMeasurement: InternalResourceMeasurement): { memoryUsageBytes: number; cpuTimeSeconds: number; durationMs: number; endMeasurement: InternalResourceMeasurement; }; /** * Get current system-wide metrics */ export declare function getSystemMetrics(): { memoryUsagePercent: number; cpuUsagePercent: number; }; /** * Create a continuous system metrics monitor */ export declare function createSystemMetricsMonitor(intervalMs?: number): { start: () => void; stop: () => void; getCurrentMetrics: () => { memoryUsagePercent: number; cpuUsagePercent: number; }; }; /** * Analyze resource usage pattern */ export declare function analyzeResourceUsage(measurements: InternalResourceMeasurement[]): { averageMemoryUsage: number; peakMemoryUsage: number; averageCpuTime: number; peakCpuTime: number; duration: number; }; /** * Check if resource usage exceeds thresholds */ export declare function checkResourceThresholds(memoryUsageBytes: number, cpuTimeSeconds: number, thresholds: { maxMemoryBytes: number; maxCpuSeconds: number; }): { memoryExceeded: boolean; cpuExceeded: boolean; warnings: string[]; }; /** * Format resource usage for logging */ export declare function formatResourceUsage(memoryUsageBytes: number, cpuTimeSeconds: number, durationMs: number): { memoryFormatted: string; cpuFormatted: string; durationFormatted: string; }; /** * Format bytes in human-readable format */ export declare function formatBytes(bytes: number): string;