Skip to content

Add an internal ateapi statusz page - #1596

Draft
Adhita Selvaraj (swiftdiaries) wants to merge 4 commits into
agent-substrate:mainfrom
swiftdiaries:codex/bug-bash-1458-statusz-base
Draft

Add an internal ateapi statusz page#1596
Adhita Selvaraj (swiftdiaries) wants to merge 4 commits into
agent-substrate:mainfrom
swiftdiaries:codex/bug-bash-1458-statusz-base

Conversation

@swiftdiaries

@swiftdiaries Adhita Selvaraj (swiftdiaries) commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

tried to take a first pass at this. If the general direction, shape looks good then I can follow up with a PR on top of this for metrics similar to ate-router

Screenshot

image

AI-generated PR description

Adds an internal ateapi /statusz foundation for inspecting one process: HTML and JSON share build/version, uptime, live readiness, listener/drain settings, and safely redacted resolved configuration.

The endpoint uses a dedicated --status-port listener (default 4040; nonpositive disables it), remains available through gRPC drain, and is exposed through the internal API Service. Environment-resolved values, credentials, and configuration paths follow a closed display policy.

This PR contains no worker-count aggregation, PostgreSQL pool snapshots, or RPC-history recorder. All diagnostic aggregation and its five-second sampling cache are isolated on a separate local branch for review; no second PR has been opened. The earlier screenshot above predates this split and includes the worker section that has now moved to that branch.

Partially addresses #1458.

Validation at 6ba881102eee10626c83b4b14bd686b0ac533892: focused ateapi/statusz race tests passed, and all hack/verify-all.sh checks passed. Full make verify reached an unrelated internal/childreap subprocess timing failure (p90 232 ms against 160 ms); isolated reruns failed twice and passed once, so the aggregate command is not reported as passing. No live-cluster deployment or E2E validation was performed.

Expose build, readiness, listener settings, projected configuration, and bounded worker-pool counts through one status model and embedded dashboard. Keep cache failures distinct from an empty fleet and cover rendering and snapshot behavior with tests.
Add a configurable status port and project resolved flags through a closed display policy before handing them to the dashboard. Share existing readiness and worker-cache state, keep status available through the gRPC drain, and bound HTTP shutdown.
Add the named status port to the deployment and headless API Service. Document replica-local data, redaction, HTML/JSON access, and disabling the listener so operators can inspect an API replica through port-forwarding.
@swiftdiaries Adhita Selvaraj (swiftdiaries) changed the title Add an internal ateapi status page Add an internal ateapi statusz page Sep 10, 2026
@swiftdiaries

Adhita Selvaraj (swiftdiaries) commented Sep 11, 2026

Copy link
Copy Markdown
Contributor Author

cc Da Huang (@git286)

@bowei

Copy link
Copy Markdown
Collaborator

+1 I love statusz pages :-)

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.

2 participants