Measure CI capacity and clconsole load, and alert when the host is pressed #126
No reviewers
Labels
No labels
area:docs
area:identity
area:ops
area:plugin
area:server
channel:community
channel:direct
channel:owned
channel:press
channel:social
e2ee-constrained
gate:at-ga
gate:pre-ga
marketing
parity
relay:absent
relay:planned
relay:requested
relay:supported
risk:additive
risk:contract
risk:none
usability
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Nectenda/nectenda!126
Loading…
Reference in a new issue
No description provided.
Delete branch "worktree-ci-monitoring"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #77. It follows up on raising the runner to capacity 5.
scripts/ci-capacity.mjs [--hours N]is a read-only report fromaction_run_job. Per job it gives queue wait (mean and p90) and run time, and run time against how many jobs were already running when it started. It counts still-running jobs, which a mutation showed the first draft did not.deploy/clconsole/ci-host-monitor.{sh,service,timer}is a user timer, run every minute. It logs load, CPU and memory pressure (PSI), available memory and running CI jobs to~/ci-host/metrics.tsv(14 days). It pushes up/down to an Uptime Kuma push monitor: down at >=25% CPU pressure over 5 min, >=10% memory pressure over 1 min, or unreadable pressure. It only logs untilKUMA_PUSH_URLis set.deploy/clconsole/README.mdcovers install, and how to read the two together to decide on more or fewer runners.Already installed on clconsole from this branch. First reading: load 6.22, CPU pressure 6.9%, memory pressure 0, 26.7 GB available, 2 jobs.
Not yet alerting: the Kuma push monitor needs creating, with credentials this session doesn't have.
Tests: 7 for the monitor against a fake `/proc` and the deployer's fake curl, and 5 for the report. Four rules in each were mutation-checked.
Changelog
NONE
🤖 Generated with Claude Code
https://claude.ai/code/session_01StURdiv33xnMfE2XRyg8Lt
7fc6fde100ffb3ea1417