Skip to content

Data tracks throughput#111

Open
stephen-derosa wants to merge 1 commit intolivekit:mainfrom
stephen-derosa:sderosa/data_tracks_throughput
Open

Data tracks throughput#111
stephen-derosa wants to merge 1 commit intolivekit:mainfrom
stephen-derosa:sderosa/data_tracks_throughput

Conversation

@stephen-derosa
Copy link
Copy Markdown
Contributor

benchmark/data_track_throughput: throughput executables and post processing tooling for visualizing Data Track MBPS throughput

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a data-track throughput benchmarking experiment (producer/consumer executables + plotting tooling) and updates repo docs/ignores to support running it.

Changes:

  • Add benchmarks/data_track_throughput standalone CMake project with producer/consumer executables that coordinate via RPC and write raw CSV measurements.
  • Add Python post-processing script to generate throughput/latency plots from the CSV output.
  • Update documentation and .gitignore entries for Docker build notes and benchmark output directories.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
include/livekit/data_track_subscription.h Introduces a new public header for a blocking data-track subscription type.
benchmarks/data_track_throughput/producer.cpp Producer benchmark executable that publishes a data track and runs scenario sweeps/single scenario.
benchmarks/data_track_throughput/consumer.cpp Consumer benchmark executable that records arrivals, validates headers, and writes CSVs.
benchmarks/data_track_throughput/common.h Shared scenario planning, payload/header encoding, CSV helpers, and validation.
benchmarks/data_track_throughput/scripts/plot_throughput.py CSV ingestion + derived metrics + plot generation.
benchmarks/data_track_throughput/scripts/.gitignore Ignores venv/pycache artifacts for the plotting scripts.
benchmarks/data_track_throughput/README.md Documents benchmark design, bounds, and usage/plot outputs.
benchmarks/data_track_throughput/CMakeLists.txt Standalone build for benchmark + dependency fetching and library copying.
README.md Updates Docker build instructions to use base + sdk Dockerfiles.
.gitignore Ignores benchmark output directory data_track_throughput_results/.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread include/livekit/data_track_subscription.h Outdated
Comment thread benchmarks/data_track_throughput/consumer.cpp
Comment thread benchmarks/data_track_throughput/consumer.cpp Outdated
Comment thread benchmarks/data_track_throughput/CMakeLists.txt Outdated
Comment thread benchmarks/data_track_throughput/README.md Outdated
Comment thread include/livekit/data_track_subscription.h Outdated
@stephen-derosa stephen-derosa force-pushed the sderosa/data_tracks_throughput branch 2 times, most recently from b86d39a to 9258ade Compare April 24, 2026 19:51
@stephen-derosa stephen-derosa changed the title Sderosa/data tracks throughput Data tracks throughput Apr 27, 2026
@stephen-derosa stephen-derosa force-pushed the sderosa/data_tracks_throughput branch from 889271d to 467cb37 Compare April 27, 2026 19:56
@stephen-derosa stephen-derosa force-pushed the sderosa/data_tracks_throughput branch from 467cb37 to 2ec3a7a Compare April 27, 2026 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants