export declare const WEB_PERFORMANCE_LOG = "web-performance.jsonl"; interface BaseEvent { event: string; ts: string; pid?: number; mode?: string; } export interface WebRequestPerformanceEvent extends BaseEvent { event: "request_complete"; request_id: string; method: string; route: string; status: number | null; outcome: "finished" | "aborted"; stream: boolean; slow: boolean; duration_ms: number; process_cpu_ms_during_request: number; concurrent_requests_at_start: number; max_concurrent_requests: number; event_loop_delay_count: number; event_loop_delay_total_ms: number; max_event_loop_delay_ms: number; } export interface WebEventLoopDelayEvent extends BaseEvent { event: "event_loop_delay"; delay_ms: number; active_request_count: number; active_requests: Array<{ request_id: string; method: string; route: string; age_ms: number; }>; active_requests_truncated: number; } export interface WebMemoryPerformanceEvent extends BaseEvent { event: "memory_sample"; reason: "started" | "interval"; rss_bytes: number; heap_used_bytes: number; heap_total_bytes: number; heap_limit_bytes: number; heap_used_percent: number; external_bytes: number; array_buffers_bytes: number; native_contexts: number; detached_contexts: number; active_request_count: number; gc_count: number; gc_duration_ms: number; max_gc_pause_ms: number; gc_by_kind: Record; } export interface WebGcPauseEvent extends BaseEvent { event: "gc_pause"; kind: string; duration_ms: number; rss_bytes: number; heap_used_bytes: number; heap_total_bytes: number; heap_limit_bytes: number; heap_used_percent: number; active_request_count: number; } export interface WebRoutePerformanceSummary { method: string; route: string; requests: number; slow_requests: number; aborted_requests: number; p50_ms: number; p95_ms: number; max_ms: number; max_event_loop_delay_ms: number; max_concurrent_requests: number; } export interface WebPerformanceReport { state: "ok" | "unavailable"; log_path: string; since: string; files_read: number; invalid_lines: number; requests_observed: number; streams_observed: number; slow_requests: number; event_loop_delays: number; memory: { samples: number; latest: WebMemoryPerformanceEvent; peak_rss_bytes: number; peak_heap_used_bytes: number; max_heap_used_percent: number; } | null; garbage_collection: { observed_collections: number; observed_duration_ms: number; recorded_pauses: number; max_pause_ms: number; }; routes: WebRoutePerformanceSummary[]; slowest_requests: WebRequestPerformanceEvent[]; largest_event_loop_delays: WebEventLoopDelayEvent[]; largest_gc_pauses: WebGcPauseEvent[]; hint?: string; } export declare function parsePerformanceWindow(input: string): number | null; export declare function readWebPerformanceReport(options: { root: string; since: string; limit: number; nowMs?: number; }): WebPerformanceReport; export {}; //# sourceMappingURL=web-performance.d.ts.map