Skip to content

feat: trickle events channel reader for runtime telemetry#6

Merged
seanhanca merged 1 commit into
mainfrom
feat/trickle-telemetry
Jun 5, 2026
Merged

feat: trickle events channel reader for runtime telemetry#6
seanhanca merged 1 commit into
mainfrom
feat/trickle-telemetry

Conversation

@seanhanca

Copy link
Copy Markdown
Contributor

Summary

Subscribe to the trickle events channel to capture runtime telemetry from Scope orchestrators that have PR daydreamlive/scope#1040 deployed.

Changes

  • trickle_reader.py: Background async reader for the trickle events channel. Reads sequential segments, parses JSON events, collects telemetry events (PR 1040), MediaPublishStats from log lines, and lifecycle events (runner_ready, stream_started, pipeline_loaded).
  • sdk_executor.py: Automatically starts the trickle reader when events_url is present in the stream start response. Attaches collected metrics to the RunResult.
  • metrics_reporter.py: Includes trickle channel data (event counts, media stats, runtime telemetry) in loadtest_run_completed events sent to /v1/metrics.

How it works

Scope Runner (PR 1040) → publish_event("stream_heartbeat") → TrickleEventsSink
  → trickle events channel: {"type": "telemetry", "event": {...}}
    → TrickleEventsReader (this PR) reads segments via HTTP GET
      → TrickleMetrics collected → attached to RunResult → reported to /v1/metrics

Requires

  • Orchestrators with scope#1040 deployed (orch-prod-scope-1, orch-prod-scope-vast-1)
  • Network connectivity from the load test VM to those orchestrators on port 8935
  • Pulumi manages the networking configuration

Tests

  • 135 unit tests passing
  • E2e verification pending orchestrator connectivity

Signed-off-by: qianghan <qiang@livepeer.org>
@seanhanca seanhanca merged commit ed7c0f9 into main Jun 5, 2026
@seanhanca seanhanca deleted the feat/trickle-telemetry branch June 5, 2026 22:50
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