feat(ai/runner): log live runner register and deregister events#3943
feat(ai/runner): log live runner register and deregister events#3943rickstaa wants to merge 1 commit into
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@j0sh pushed this to draft since I might want to do some additional logging for the static path and display the initial price or price update. |
Add slog lifecycle logging for dynamic and static runners: registered, deregistered (reason: "heartbeat timeout" / "unregister"), static health changes (ready <-> unavailable), and price set (slog.Debug, on change only). The rest are slog.Info.
cad452e to
c0801e4
Compare
What
Operator-visible logging for the live runner lifecycle. Previously the registry logged nothing on the happy path (only
slogwarnings/errors on failure), so "is my runner connected, and at what price?" had to be inferred from/discovery.Dynamic runners
live runner registered— new-runner branch ofHeartbeatlive runner deregistered— with areasonthreaded from the call sites:heartbeat timeout— expiry loop (crash, OOM, network loss, hard kill)unregister— explicit SDK shutdown (graceful stop)Static runners
static live runner registered— first registration only (skips config reloads of an already-registered runner)static live runner health changed— only onready <-> unavailabletransitions (static runners can't heartbeat, so this is their up/down signal)Pricing
live runner price set—slog.Debug, fires on first set and on actual change (guarded so unchanged-price heartbeats stay quiet)Levels
Lifecycle events are
slog.Info; price isslog.Debug(config detail, also queryable via/discovery).Note: go-livepeer doesn't yet wire slog's level to the
-vflag, soslog.Debugis currently dormant. A follow-up PR tomasterwill bridge slog's level to-v(repo-wide, also covers trickle/worker/media debug lines).Notes
runner.removed = true, so it fires only when a removal commits, and every removal path funnels through that one chokepoint.🤖 Generated with Claude Code