A system page that shows the machine's health at a glance #27

Closed
mi wants to merge 12 commits from mi/system-page AGit into main
Owner

Co-Authored-By: Claude Fable 5.1 noreply@anthropic.com

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
mi added 1 commit 2026-09-08 10:19:57 +02:00
mi added 1 commit 2026-09-08 10:20:06 +02:00
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
mi added 1 commit 2026-09-08 10:25:55 +02:00
mi added 5 commits 2026-09-08 10:43:04 +02:00
The three kernel signals that tell an overloaded machine from a busy
one (Scenario#27.01); each is null where its source is unavailable.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
SystemHealth.assess combines RAM and disk headroom, load per core,
pressure-stall time and swap into healthy/pressure/overloaded
(Scenario#27.02); CPU utilization alone never counts.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
MetricsHistory is a column-wise ring buffer persisted with the
aggregation state (Scenario#27.03): 1440 minute points, 2880 quarter
points with average and maximum, a restart continues both.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
GET /api/system/history?range=day|month (Scenario#27.04) and the
runningBuilds list on GET /api/system (Scenario#27.05).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A verdict line, one gauge card per resource with a sparkline and the
peak of the selected range, a tile strip, and a 24 h / 30 d toggle
(Scenario#27.05); the all-time min/max/avg table is gone from the page.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
mi added 1 commit 2026-09-08 10:59:01 +02:00
The first rollout rendered the new system page with the browser's
cached old stylesheet and script; no-cache, must-revalidate makes a
deploy visible at once at the cost of a 304 per load.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
mi added 1 commit 2026-09-08 11:14:17 +02:00
1 h, 4 h, 24 h, 7 d and 30 d; the charts are taller and carry a time
axis, so an hour of data on a day's axis is recognizable as such.
The PR-doc's Solution section, lost to a silent edit, is restored.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
mi added 2 commits 2026-09-08 11:25:02 +02:00
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Many builds last less than a minute and fell between two samples. The
history gains a third tier (15 s samples for four hours; minutes and
quarters carry average and maximum), the state file is written once a
minute and on shutdown, and the page opens on the last hour.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
mi marked the pull request as ready for review 2026-09-08 11:41:46 +02:00
mi closed this pull request 2026-09-08 11:41:58 +02:00

Pull request closed

Please reopen this pull request to perform a merge.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mi/werkator#27