The OOM event detection and alert banner was implemented in commit ea1406a.
This notes file documents the implementation summary.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.5 KiB
1.5 KiB
OOM Event Detection - Already Complete
This task (bf-dm8v) was already implemented in commit ea1406a on 2026-06-07.
Implementation Summary
The OOM event detection and alert banner feature was fully implemented with:
Backend (systemCgroupMonitor.ts)
getOomState()function for lightweight OOM polling- Tracks:
oomKillCount,lastOomAt,oomDetected,memoryCurrentAtOom - Reads from
/sys/fs/cgroup/user.slice/user-1001.slice/memory.events
API (server.ts)
GET /api/system/oom-stateendpoint returns current OOM state- Includes
formattedMemoryCurrentfor human-readable memory value
Frontend (OomAlertBanner.tsx)
- Polls
/api/system/oom-stateevery 30 seconds - Shows persistent red alert banner when
oomDetected=true - Displays: OOM kill count, timestamp, memory at detection
- Dismissible via X button
- Auto-clears after 1 hour using localStorage
- CSS styling: red background, warning icon, dismiss button
Integration (App.tsx)
- Banner rendered at top of dashboard (line 640)
oomBannerDismissedstate tracks dismissal
Files Modified in ea1406a
src/systemCgroupMonitor.ts- +66 lines (getOomState, OomState interface)src/web/server.ts- +11 lines (/api/system/oom-state endpoint)src/web/frontend/src/components/OomAlertBanner.tsx- +115 lines (new component)src/web/frontend/src/App.tsx- +3 lines (import and render)src/web/frontend/src/index.css- +68 lines (banner styling)
Total: 263 lines added