What
Add operator-visible logging for the live runner lifecycle, so "is my runner connected, and at what price?" can be read from logs instead of inferred from /discovery.
Lifecycle events to surface:
Dynamic runners
live runner registered — new-runner branch of Heartbeat
live runner deregistered — with a reason (heartbeat timeout on crash/OOM/network loss/hard kill, unregister on graceful SDK shutdown)
Static runners
static live runner registered — first registration only
static live runner health changed — on ready <-> unavailable transitions
Pricing
live runner price set — debug level, on first set and on actual change
Why
Better logging makes the runner lifecycle observable for developers and operators running the live runner via the Python SDK.
Implementation
The go-livepeer side is implemented in livepeer/go-livepeer#3943.
What
Add operator-visible logging for the live runner lifecycle, so "is my runner connected, and at what price?" can be read from logs instead of inferred from
/discovery.Lifecycle events to surface:
Dynamic runners
live runner registered— new-runner branch ofHeartbeatlive runner deregistered— with areason(heartbeat timeouton crash/OOM/network loss/hard kill,unregisteron graceful SDK shutdown)Static runners
static live runner registered— first registration onlystatic live runner health changed— onready <-> unavailabletransitionsPricing
live runner price set— debug level, on first set and on actual changeWhy
Better logging makes the runner lifecycle observable for developers and operators running the live runner via the Python SDK.
Implementation
The go-livepeer side is implemented in livepeer/go-livepeer#3943.