Skip to content

Show node host figures and history in the node dialog - #111

Merged
SaladDay merged 1 commit into
mainfrom
codex/node-host
Sep 25, 2026
Merged

SaladDay merged 1 commit into
mainfrom
codex/node-host

Conversation

@SaladDay

@SaladDay SaladDay commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Wires the two backend requests delivered in #108 into the console, verified against a live Core.

  • Node dialog (Sandbox metrics):
    • CPU now reads the host's busy share of its cores ("1.3% of 128 cores"), and memory reads used / total, both from the node's last heartbeat.
    • A new Host section charts the machine's CPU busy share and used memory (with its total) over the page's range, from GET /core/v1/sandbox/nodes/{id}?range=1h|6h|24h. Offline buckets stay gaps.
  • Client: SandboxAdminClient.retrieveNode(nodeId, range) with the SandboxNodeDetail / SandboxNodeHost types from contracts/agents-api/node-host-history.md.
  • Core metrics, now on real data: the header shows a 12-character revision instead of the full 40, and sub-10 ms latencies keep a decimal, so the database axis no longer reads "1 ms" on every tick. The process CPU and resident memory fields from Report Core process metrics and node host history #108 already feed the page (Show Core's CPU and resident memory on Core metrics #100).
  • docs/web/protocol-coverage.md lists the node detail read.

Live check: Core built from main (#108), a real Docker node enrolled on this host, and core-console in front of it.

  • Core reports host cpu_utilization 0.006 of 128 effective cores and 1 TB total memory, plus 60 one-minute history buckets that fill as heartbeats are sampled.
  • Core metrics reports process cpu_cores 0.007 and rss_bytes 26 MB, with its series.
  • The console showed both through the real proxy.
  • Note: cpu_limit_cores was null there. Core ran in a login-session cgroup without the CPU controller, so cpu.max doesn't exist; the contract keeps unreadable limits null.

Validation: typecheck, 332 web unit tests, 14 browser acceptance tests on headless Chromium (the node dialog test now checks the host figures and chart). Gate and CI results are in the checks.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

@SaladDay
SaladDay merged commit f30b8bb into main Sep 25, 2026
2 of 5 checks passed
@SaladDay
SaladDay deleted the codex/node-host branch October 7, 2026 06:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant