You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gate A needs operational metrics, but the metrics server and bounded-label design are separate from the completed CLI-01, SIGN-01, and API-01 implementation scopes.
Tasks
Add --metrics, --metrics.port, and --metrics.address following Lodestar's existing option shape and defaults.
Create the registry in packages/cli and start the HTTP metrics server without making @lodestar/builder depend on @lodestar/beacon-node.
Thread the registry through BuilderOptions and implement getMetrics(register).
Close the metrics server through graceful-shutdown callbacks and prove that the Builder-owned server adds no lingering process handle.
Decide whether the server starts before Builder.init so it remains scrapeable while the sidecar waits for readiness.
Add bounded Builder status, balance, and node-readiness metrics.
Add process start-time and version metrics following Lodestar conventions.
Add bid and envelope signature counts and signing duration.
Keep label cardinality bounded and never include key, pubkey, index, raw BN response, or other identity material.
Record that Lodestar #9793 closed without merge because the proposed self-signal/force-exit approach did not generalize, especially for container PID 1. Do not treat it as the metrics-server fix or claim the underlying network-worker handle is resolved.
Confirm a clean local run exposes the endpoint, updates expected values, closes the metrics server, and leaves forced termination to the deployment process manager when Lodestar itself cannot exit.
Done when
A clean local run exposes the expected bounded metrics, the metrics server starts and stops without preventing Builder shutdown, and the evidence distinguishes Builder-owned handles from the unresolved Lodestar network-worker shutdown problem.
Why
Gate A needs operational metrics, but the metrics server and bounded-label design are separate from the completed CLI-01, SIGN-01, and API-01 implementation scopes.
Tasks
--metrics,--metrics.port, and--metrics.addressfollowing Lodestar's existing option shape and defaults.packages/cliand start the HTTP metrics server without making@lodestar/builderdepend on@lodestar/beacon-node.BuilderOptionsand implementgetMetrics(register).Builder.initso it remains scrapeable while the sidecar waits for readiness.Done when
A clean local run exposes the expected bounded metrics, the metrics server starts and stops without preventing Builder shutdown, and the evidence distinguishes Builder-owned handles from the unresolved Lodestar network-worker shutdown problem.