diff --git a/.github/relay-cpu-bisect.md b/.github/relay-cpu-bisect.md index 53fc41b88b3..7047117671b 100644 --- a/.github/relay-cpu-bisect.md +++ b/.github/relay-cpu-bisect.md @@ -111,7 +111,7 @@ Against `main` at [619df6e1b3](https://github.com/moq-dev/moq/commit/619df6e1b3) `Cursor::probe` is the relay's check for groups a reader has missed. Each time a subscriber asks for its next group, the probe looks at what arrived on the track since its last look and decides whether any group the reader still wants has left the cache without the live feed delivering it (evicted, skipped, or from before the feed started), and asks upstream to fill those. A live reader that takes each group as it arrives never has such a gap, yet it paid for the whole check on every group: locking the subscription and the track's shared state, cloning the track's fills, walking the arrival ledger, checking each new group for holes, and running the ask-and-answer loop. Each time the cache aged out an old group, the eviction also landed with every reader, all of which had already taken it, and forced each one to re-run the full check. The fast path judges a group the arrival walk serves without the hole, backfill, and ledger passes, skips the subscription, fills, and answers when nothing is asked or owed, and starts each reader's eviction inbox above what it handed out. It recovers most of [moq-dev/moq#6171](https://github.com/moq-dev/moq/pull/6171)'s and [moq-dev/moq#7339](https://github.com/moq-dev/moq/pull/7339)'s cost. -kio's `WaiterList::register` was the session path's second-largest self cost: 7.2k per group. A waiter recorded 8 lists, and a relay session's control and serving tasks parked on more, so every list past the eighth took a duplicate entry on every poll. Remembering 16 cut the session by 4,424 (-3.9%) and was initially reverted after two moq-net integration tests failed. [moq-dev/moq#7789](https://github.com/moq-dev/moq/pull/7789) fixes the front's metadata/abort ordering and the quiet-catalog test's detached handshake, then raises the record limit to 16; its paired session measurement is recorded in that PR. Forcing every idle gate to walk still reproduced both failures, so the suspected idle-gate wake dependency did not explain them. The per-group costs this report attributes and nothing here cut are accepted in the [release-perf epic](../quest/m1/release-perf/README.md). +kio's `WaiterList::register` was the session path's second-largest self cost: 7.2k per group. A waiter recorded 8 lists, and a relay session's control and serving tasks parked on more, so every list past the eighth took a duplicate entry on every poll. Remembering 16 cut the session by 4,424 (-3.9%) and was initially reverted after two moq-net integration tests failed. [moq-dev/moq#7789](https://github.com/moq-dev/moq/pull/7789) fixes the front's metadata/abort ordering and the quiet-catalog test's detached handshake, then raises the record limit to 16; its paired session measurement is recorded in that PR. Forcing every idle gate to walk still reproduced both failures, so the suspected idle-gate wake dependency did not explain them. The per-group costs this report attributes and nothing here cut are accepted in the [release performance report](release-perf.md). On the quiet test host (run.we4umM, one-minute load at most 4.7), chat over io\_uring went from 154.5k \[154.1-155.0] instructions per frame on `main` to 148.9k \[148.3-150.8] with the probe and window changes (-3.6%), four rounds each, every cell at 20,000 frames/s with no loss. The relay's QUIC, crypto, and syscalls are most of its cost, so the model's -23% shows as a few percent there. @@ -127,7 +127,7 @@ On the quiet test host (run.we4umM, one-minute load at most 4.7), chat over io\_ Neither cost is in the probe's judgement, so the fast path left both in place: - **[moq-dev/moq#6995](https://github.com/moq-dev/moq/pull/6995), the live index's walk.** It indexed the live feed's groups apart from fetched backfill, so every search for live content (`TrackState::live`) walked a chain of two flattened options where it had walked the cache's range. The walk's callers are the drift edge each read measures (`poll_drift` → `drift_edge` → `live_edge`) and the arrival walk, on the reader's cursor and its forward-drop cursor alike; the judgement never calls it. It still cost 2,840 inclusive per group on `main`, as at [moq-dev/moq#7542](https://github.com/moq-dev/moq/pull/7542)'s merge (2,817). The probe's own share of the PR (+1,115 self) did fall with the fast path: the probe's self cost went from 4,343 at the merge to 1,842 on `main`. -- **[moq-dev/moq#7542](https://github.com/moq-dev/moq/pull/7542), layered window queries.** A window answers each query from its shared fixed runs and a layer of moving ones (`runs::Layered::first` and `last`): +3,810 inclusive at the merge, less about 800 in the range-map queries they replaced. [moq-dev/moq#7605](https://github.com/moq-dev/moq/pull/7605)'s single-set fast path brought them to 2,117 on `main`, about 40 queries per delivery at about 50 instructions each, from the forward-drop walk, peeks, admission, and the probe. That is the number of window queries a per-reader window answers, not a walk, so it is accepted in the [release-perf epic](../quest/m1/release-perf/README.md). +- **[moq-dev/moq#7542](https://github.com/moq-dev/moq/pull/7542), layered window queries.** A window answers each query from its shared fixed runs and a layer of moving ones (`runs::Layered::first` and `last`): +3,810 inclusive at the merge, less about 800 in the range-map queries they replaced. [moq-dev/moq#7605](https://github.com/moq-dev/moq/pull/7605)'s single-set fast path brought them to 2,117 on `main`, about 40 queries per delivery at about 50 instructions each, from the forward-drop walk, peeks, admission, and the probe. That is the number of window queries a per-reader window answers, not a walk, so it is accepted in the [release performance report](release-perf.md). `TrackState::live` now walks either the cache or the live index through one branch per call, and the drift edge's single-run search scans it statically rather than through a `dyn` iterator (run.m71Z8E, against `main` at [fa9c1bf2a7](https://github.com/moq-dev/moq/commit/fa9c1bf2a7)): @@ -178,7 +178,7 @@ Each change is counted against the row above in its own run (N037x9, vS3CAR, DV1 - **The budget.** A read that blocks before its group's first frame judges the group's expiry. `Consumer::poll_expiry` asked the logical reader's budget (`Recover::poll_budget`: the reader's lock and a sync of its mirrored preferences) before `is_expired`, which answers false without the budget until a group lands above. The sync is redundant there: a preference update mirrors into every copy at once (`Mirror::sync`), a route change syncs every reader (`serve_from`), and the landing that makes the budget matter wakes the read through `watch_landing`, which then asks the budget. `is_expired` now takes the `Recover` and asks only past that check. - **The forward drop.** The relay's track side polls the reader for runs to report (`TrackRun::poll_forward_drop`) on each track wake, and again after a receive that parked, to collect a stale skip the receive's probe queued without a wake. Each poll judged every copy (`Reader::let_go`) with nothing to report, and the second probed the live edge again (`Cursor::poll_drift` and `probe`) right after the receive had, with the same waiter. The reader now returns once nothing is queued, and the second poll only collects. Drop probes fall from 5 to 3 per delivered group. -What remains of each viewer's live read is accepted in the [release-perf epic](../quest/m1/release-perf/README.md): about 3.5k per delivered group in the drop poll's probe and 3.5k in the receive's (three each, one wake of each kind), and 0.9k in the expiry checks of a read that blocks before its first frame and of a group waiting for stream credit, which park on the next landing. +What remains of each viewer's live read is accepted in the [release performance report](release-perf.md): about 3.5k per delivered group in the drop poll's probe and 3.5k in the receive's (three each, one wake of each kind), and 0.9k in the expiry checks of a read that blocks before its first frame and of a group waiting for stream credit, which park on the next landing. ## `group_relay_frames` since `e7a5c10` diff --git a/.github/release-perf.json b/.github/release-perf.json new file mode 100644 index 00000000000..ceeb26e2ded --- /dev/null +++ b/.github/release-perf.json @@ -0,0 +1,7883 @@ +{ + "metadata": { + "untracked": [], + "revision": "56d7989c78a107e0cb72487c43006495005c27a3", + "base": "origin/release", + "rustc": "rustc 1.98.1 (48a229cea 2026-09-01)\nbinary: rustc\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\ncommit-date: 2026-09-01\nhost: x86_64-unknown-linux-gnu\nrelease: 1.98.1\nLLVM version: 22.1.8", + "cargo": "cargo 1.98.1 (797e8a9bc 2026-08-05)", + "os": "Linux-7.0.0-42-generic-x86_64-with-glibc2.44", + "machine": "x86_64", + "processor": "", + "affinity": [0, 1, 2, 3, 4, 5, 6, 7], + "environment": { + "BENCH_LOCK_HELD": "1", + "BENCH_TRANSPORTS": "quic", + "BENCH_ARTIFACTS": "/home/kixelated/worktrees/moq/t3-d4101223/.tmp/bench", + "BENCH_RUNTIME_ROUNDS": "7" + }, + "profile": "release", + "features": "default", + "mode": "--relay", + "runtime_workers": "", + "rounds": 7, + "allocator": "system by build; preload and allocator tunables are recorded in environment", + "profilers": null, + "workload": { + "startup": "2s", + "duration": "10s", + "report": "500ms", + "instructions_duration": "19s" + } + }, + "base_revision": "dc3478a863d8aab42afaae8d40c3b84794ae4a4b", + "execution_order": "1\tbase current\n2\tcurrent base\n3\tbase current\n4\tcurrent base\n5\tbase current\n6\tcurrent base\n7\tbase current\n", + "loadavg": { + "start": "10.84 10.75 12.09 10/6686 2538134", + "loadavg-pairing-4-mid": "11.09 10.95 12.05 7/6532 2660580", + "loadavg-pairing-4-during": "6.39 9.49 11.44 4/6654 2761820", + "loadavg-pairing-4-late": "4.89 7.63 10.41 4/6367 2968385", + "loadavg-pairing-4-end": "8.47 7.96 10.12 7/6275 3181861" + }, + "workloads": { + "audio-fanout.toml": "connections = 65\nfanout = \"audio\"\nfps = 50\nframe_size = 200\ngroup_size = 0\n", + "audio.toml": "connections = 16\nbroadcasts = 1\nsubscribe = 2\nfps = 50\nframe_size = 200\ngroup_size = 0\n", + "chat.toml": "connections = 2001\nfanout = \"chat\"\nfps = 10\nframe_size = 300\ngroup_size = 0\n", + "fanout-heavy.toml": "connections = 257\nfanout = \"fanout\"\nfps = 60\nframe_size = 1200\ngroup_size = 0\n", + "fanout.toml": "connections = 65\nfanout = \"fanout\"\nfps = 10\nframe_size = 400\ngroup_size = 0\n", + "video-heavy.toml": "connections = 256\nbroadcasts = 1\nsubscribe = 2\nfps = 60\nframe_size = 1200\ngroup_size = 59\n", + "video.toml": "connections = 16\nbroadcasts = 1\nsubscribe = 2\nfps = 30\nframe_size = 1200\ngroup_size = 59\n" + }, + "comparisons": { + "comparison-quic-chat": { + "pairs": 7, + "estimate": "median paired percent delta; dispersion is median absolute deviation", + "metrics": { + "recv_mbps": { + "delta_pct": 0.0, + "mad_pct": 0.02000400080015563, + "range_pct": [-0.022217285047787527, 0.04001600640257674], + "paired_deltas_pct": [ + 0.04001600640257674, 0.02000400080015563, 0.0, 0.0, 0.02000400080015563, 0.0, + -0.022217285047787527 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [ + 0.019207683073233284, 0.009601920384078255, 0, 0, 0.009601920384078255, 0, -0.010664296822938013 + ] + }, + "send_mbps": { + "delta_pct": 0.0, + "mad_pct": 0.022217285047776425, + "range_pct": [-1.9607843137254943, 2.2931859099092566], + "paired_deltas_pct": [ + -1.9607843137254943, 0.02000400080015563, 0.0, -1.9607843137254832, 2.2931859099092566, 0.0, + -0.022217285047776425 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [ + -0.0004705882352941185, 4.800960192036241e-6, 0.0, -0.0004799999999999978, + 0.0005381342935253698, 0.0, -5.332148411467397e-6 + ] + }, + "recv_fps": { + "delta_pct": 0.0, + "mad_pct": 0.02000400080015563, + "range_pct": [-0.022217285047776425, 0.04001600640255454], + "paired_deltas_pct": [ + 0.04001600640255454, 0.02000400080015563, 0.0, 0.0, 0.02000400080015563, 0.0, + -0.022217285047776425 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [ + 8.00320128050953, 4.000800160032668, 0, 0, 4.000800160032668, 0, -4.44345700955455 + ] + }, + "send_fps": { + "delta_pct": 0.0, + "mad_pct": 0.022217285047765323, + "range_pct": [-1.9607843137255054, 2.2931859099092566], + "paired_deltas_pct": [ + -1.9607843137255054, 0.02000400080015563, 0.0, -1.9607843137254832, 2.2931859099092566, 0.0, + -0.022217285047765323 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [ + -0.1960784313725501, 0.002000400080016007, 0, -0.1999999999999993, 0.22422262230223744, 0, + -0.0022217285047769764 + ] + }, + "cpu_cores": { + "delta_pct": -27.564703563533133, + "mad_pct": 1.839621543767855, + "range_pct": [-31.121806787852137, -22.32852336687555], + "paired_deltas_pct": [ + -22.32852336687555, -25.725082019765278, -27.564703563533133, -31.121806787852137, + -28.686331579875368, -28.06595074147864, -24.95239084473193 + ], + "status": "consistent sign", + "paired_absolute_deltas": [ + -0.2951661431039483, -0.34592173763935397, -0.3813506057192546, -0.4416571725959326, + -0.3888751982596129, -0.3912796876366791, -0.3229417115295935 + ] + }, + "cpu_us_per_frame": { + "delta_pct": -27.564703563533143, + "mad_pct": 1.8247665601718097, + "range_pct": [-31.121806787852123, -22.359591957528792], + "paired_deltas_pct": [ + -22.359591957528792, -25.739937003361334, -27.564703563533143, -31.121806787852123, + -28.700594313559392, -28.06595074147865, -24.935713598252974 + ], + "status": "consistent sign", + "paired_absolute_deltas": [ + -14.77884231536926, -17.306074530858773, -19.067530285962732, -22.082858629796625, + -19.453427275594883, -19.56398438183396, -16.136293467308597 + ] + }, + "cpu_cores_per_gbps": { + "delta_pct": -27.564703563533133, + "mad_pct": 1.824766560171799, + "range_pct": [-31.121806787852137, -22.359591957528824], + "paired_deltas_pct": [ + -22.359591957528824, -25.739937003361334, -27.564703563533133, -31.121806787852137, + -28.700594313559392, -28.06595074147863, -24.935713598252953 + ], + "status": "consistent sign", + "paired_absolute_deltas": [ + -6.1578509647372, -7.210864387857825, -7.944804285817803, -9.201191095748598, + -8.105594698164534, -8.151660159097478, -6.723455611378576 + ] + }, + "generator_cpu_cores": { + "delta_pct": 7.349483675312163, + "mad_pct": 0.5682107375871714, + "range_pct": [6.781272937724991, 16.506211917998858], + "paired_deltas_pct": [ + 16.506211917998858, 8.886905835340663, 7.349483675312163, 6.916502301117644, 6.781272937724991, + 7.215754133125052, 8.666394433344138 + ], + "status": "consistent sign", + "paired_absolute_deltas": [ + 0.14382343345366733, 0.07985618348471135, 0.06560218177506372, 0.06066090042137917, + 0.059351252818760636, 0.0637463479415672, 0.07850630972694428 + ] + }, + "loss_pct": { + "delta_pct": -84.91614185650707, + "mad_pct": 2.9279952257871713, + "range_pct": [-88.95019694139472, -78.82125613318559], + "paired_deltas_pct": [ + -86.06959355661894, -87.84413708229424, -84.91614185650707, -88.95019694139472, + -78.82125613318559, -81.3752380570262, -84.67523497103554 + ], + "status": "consistent sign", + "paired_absolute_deltas": [ + -0.07920233875156954, -0.0808352963576431, -0.05691188230808453, -0.0813799674144675, + -0.06582413411122413, -0.07444968588196013, -0.14773126101329606 + ] + }, + "latency_p99_ms": { + "delta_pct": 1.5927977839335083, + "mad_pct": 0.7617728531855938, + "range_pct": [0.0, 5.6357388316151225], + "paired_deltas_pct": [ + 3.112033195020736, 1.8672199170124415, 1.039501039501034, 0.8310249307479145, 0.0, + 1.5927977839335083, 5.6357388316151225 + ], + "status": "consistent sign", + "paired_absolute_deltas": [45, 27, 15, 12, 0, 23, 82] + } + }, + "cpu_efficiency": "not estimated: verify offered load, delivery/loss and host/load window alignment before normalizing CPU" + }, + "comparison-quic-fanout": { + "pairs": 7, + "estimate": "median paired percent delta; dispersion is median absolute deviation", + "metrics": { + "recv_mbps": { + "delta_pct": -0.019999999999997797, + "mad_pct": 0.019999999999997797, + "range_pct": [-0.04221284159074967, 0.02000400080015563], + "paired_deltas_pct": [ + -0.019999999999997797, 0.0, -0.019999999999997797, -0.04221284159074967, 0.02000400080015563, + -0.019999999999997797, 0.0 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [ + -0.0004096819363872406, 0.0, -0.0004096819363872406, -0.0008646919341654957, + 0.0004096819363872406, -0.0004096819363872406, 0.0 + ] + }, + "send_mbps": { + "delta_pct": 0.0, + "mad_pct": 0.019999999999997797, + "range_pct": [-0.019999999999997797, 4.264358487229569], + "paired_deltas_pct": [ + -0.019999999999997797, 0.0, -0.019999999999997797, 4.264358487229569, 0.02000400080015563, + -0.019999999999997797, 0.0 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [ + -6.401280256050634e-6, 0.0, -6.401280256050634e-6, 0.0013375703356623275, 6.401280256050634e-6, + -6.401280256050634e-6, 0.0 + ] + }, + "recv_fps": { + "delta_pct": -0.019999999999997797, + "mad_pct": 0.019999999999997797, + "range_pct": [-0.042212841590760775, 0.02000400080015563], + "paired_deltas_pct": [ + -0.019999999999997797, 0.0, -0.019999999999997797, -0.042212841590760775, 0.02000400080015563, + -0.019999999999997797, 0.0 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [ + -0.12802560512102446, 0, -0.12802560512102446, -0.27021622942675094, 0.12802560512102446, + -0.12802560512102446, 0 + ] + }, + "send_fps": { + "delta_pct": 0.0, + "mad_pct": 0.019999999999997797, + "range_pct": [-0.019999999999997797, 4.264358487229569], + "paired_deltas_pct": [ + -0.019999999999997797, 0.0, -0.019999999999997797, 4.264358487229569, 0.02000400080015563, + -0.019999999999997797, 0.0 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [ + -0.002000400080016007, 0, -0.002000400080016007, 0.41799072989447694, 0.002000400080016007, + -0.002000400080016007, 0 + ] + }, + "cpu_cores": { + "delta_pct": -17.579154963353595, + "mad_pct": 3.5754054685790866, + "range_pct": [-27.549062745678675, -13.119343960691033], + "paired_deltas_pct": [ + -16.708340837085235, -13.119343960691033, -27.549062745678675, -20.7408787116959, + -17.579154963353595, -21.81647165063687, -14.003749494774508 + ], + "status": "consistent sign", + "paired_absolute_deltas": [ + -0.008001593931560774, -0.006028111776447111, -0.01265963372315182, -0.008704630193050011, + -0.008072398486084438, -0.010053264118692007, -0.006171712352188045 + ] + }, + "cpu_us_per_frame": { + "delta_pct": -17.59563913236092, + "mad_pct": 3.591889637586421, + "range_pct": [-27.534569659610597, -13.11934396069102], + "paired_deltas_pct": [ + -16.691679172919805, -13.11934396069102, -27.534569659610597, -20.707407055042836, + -17.59563913236092, -21.800831817000244, -14.003749494774498 + ], + "status": "consistent sign", + "paired_absolute_deltas": [ + -12.487524950099811, -9.4189246506986, -19.766317365269465, -13.57631958305609, + -12.624950099800394, -15.693824850299393, -9.643300550293816 + ] + }, + "cpu_cores_per_gbps": { + "delta_pct": -17.59563913236092, + "mad_pct": 3.5918896375864104, + "range_pct": [-27.534569659610597, -13.11934396069102], + "paired_deltas_pct": [ + -16.691679172919816, -13.11934396069102, -27.534569659610597, -20.707407055042836, + -17.59563913236092, -21.800831817000276, -14.003749494774508 + ], + "status": "consistent sign", + "paired_absolute_deltas": [ + -3.9023515469061927, -2.9434139533433132, -6.176974176646709, -4.242599869705028, + -3.9452969061876217, -4.904320265718567, -3.013531421966821 + ] + }, + "generator_cpu_cores": { + "delta_pct": 0.06765980602259081, + "mad_pct": 0.5189725520573951, + "range_pct": [-9.438405797101424, 9.910089910089926], + "paired_deltas_pct": [ + 4.501231236937109, 9.910089910089926, 0.5866323580799859, -0.18967754816814342, + 0.06765980602259081, -9.438405797101424, -0.3622532149972657 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [ + 0.0018917939276478085, 0.003960079840319368, 0.00024577902939203894, -7.58634760884419e-5, + 2.8344191792456508e-5, -0.0041605127412708, -0.0001596806387225494 + ] + }, + "loss_pct": { + "delta_pct": -18.550495907409992, + "mad_pct": 46.29052290397672, + "range_pct": [-95.44849291853286, 44.44444444444444], + "paired_deltas_pct": [ + -95.44849291853286, 44.44444444444444, -18.550495907409992, 32.692307692307665, 0.0, + -42.37254114813328, -64.84101881138672 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [ + -0.34904701532708166, 0.13297872340425532, -0.1325916429552243, 0.2825797872340424, 0.0, + -0.3544420266494735, -0.18420743980507592 + ] + }, + "latency_p99_ms": { + "delta_pct": 0.070175438596487, + "mad_pct": 0.3500914637889263, + "range_pct": [-0.2799160251924393, 1.2065294535131388], + "paired_deltas_pct": [ + 0.42075736325386526, -0.2799160251924393, -0.07007708479327412, 0.0, 0.070175438596487, + 1.0630758327427436, 1.2065294535131388 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [6, -4, -1, 0, 1, 15, 17] + } + }, + "cpu_efficiency": "not estimated: verify offered load, delivery/loss and host/load window alignment before normalizing CPU" + }, + "comparison-quic-video": { + "pairs": 7, + "estimate": "median paired percent delta; dispersion is median absolute deviation", + "metrics": { + "recv_mbps": { + "delta_pct": 3.7244485934223803, + "mad_pct": 2.5468056574278197, + "range_pct": [-1.2195121951219523, 8.664334225149206], + "paired_deltas_pct": [ + 2.4691358024691246, 3.5712641397102507, 8.664334225149206, 7.407407407407396, + 3.7244485934223803, -1.2195121951219523, 6.2712542508502 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [ + 0.2303999999999995, 0.3455846369273843, 0.8083200000000001, 0.6911999999999985, + 0.34753574714942914, -0.11519999999999975, 0.5779587917583537 + ] + }, + "send_mbps": { + "delta_pct": 0.0, + "mad_pct": 0.020004000800177835, + "range_pct": [-0.04164931278634043, 0.14684188569042966], + "paired_deltas_pct": [ + 0.0, 0.14684188569042966, 0.0, 0.0, -0.021671000866818613, -0.04164931278634043, + 0.020004000800177835 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [ + 0.0, 0.006759367873574007, 0.0, 0.0, -0.000998599719943094, -0.0019200000000001438, + 0.0009217843568718465 + ] + }, + "recv_fps": { + "delta_pct": 3.7244485934224025, + "mad_pct": 2.5468056574277753, + "range_pct": [-1.2195121951219523, 8.664334225149206], + "paired_deltas_pct": [ + 2.4691358024691468, 3.5712641397102507, 8.664334225149206, 7.407407407407418, + 3.7244485934224025, -1.2195121951219523, 6.271254250850178 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [ + 24, 35.998399679935915, 84.20000000000005, 72, 36.20164032806565, -12, 60.20404080816172 + ] + }, + "send_fps": { + "delta_pct": 0.0, + "mad_pct": 0.02000400080015563, + "range_pct": [-0.04164931278634043, 0.14684188569042966], + "paired_deltas_pct": [ + 0.0, 0.14684188569042966, 0.0, 0.0, -0.021671000866840817, -0.04164931278634043, + 0.02000400080015563 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [ + 0, 0.7041008201640011, 0, 0, -0.10402080416082526, -0.19999999999998863, 0.09601920384079676 + ] + }, + "cpu_cores": { + "delta_pct": -26.772130656900195, + "mad_pct": 4.276369093130118, + "range_pct": [-40.48224036330216, -21.606139213143106], + "paired_deltas_pct": [ + -21.606139213143106, -28.2113341882534, -40.48224036330216, -22.495761563770078, + -31.918452041388466, -26.772130656900195, -24.77885496645521 + ], + "status": "consistent sign", + "paired_absolute_deltas": [ + -0.015960079840319358, -0.021959679760303358, -0.029892215568862283, -0.013920431137724551, + -0.02430899113954528, -0.019768686626746496, -0.020354271402983987 + ] + }, + "cpu_us_per_frame": { + "delta_pct": -29.217787478081814, + "mad_pct": 3.3497045908495124, + "range_pct": [-45.22787991009189, -23.495147906802305], + "paired_deltas_pct": [ + -23.495147906802305, -30.686695380188844, -45.22787991009189, -27.84088145592388, + -34.36306590987376, -25.8680828872323, -29.217787478081814 + ], + "status": "consistent sign", + "paired_absolute_deltas": [ + -17.85540921726382, -23.69688590419009, -34.36551859019027, -17.724284084024383, + -26.924692648800004, -19.41172037136205, -25.000599340339726 + ] + }, + "cpu_cores_per_gbps": { + "delta_pct": -29.217787478081814, + "mad_pct": 3.349704590849523, + "range_pct": [-45.22787991009189, -23.495147906802284], + "paired_deltas_pct": [ + -23.495147906802284, -30.686695380188855, -45.22787991009189, -27.84088145592385, + -34.36306590987375, -25.86808288723229, -29.217787478081814 + ], + "status": "consistent sign", + "paired_absolute_deltas": [ + -1.8599384601316462, -2.468425615019802, -3.5797415198114857, -1.846279592085871, + -2.8046554842499987, -2.022054205350213, -2.6042290979520537 + ] + }, + "generator_cpu_cores": { + "delta_pct": -3.3766391255502737, + "mad_pct": 3.103249963951915, + "range_pct": [-17.333779033703212, -0.0750312630262262], + "paired_deltas_pct": [ + -3.3050438142551597, -6.479889089502189, -17.333779033703212, -0.0750312630262262, + -10.090622970040942, -3.288628905692681, -3.3766391255502737 + ], + "status": "consistent sign", + "paired_absolute_deltas": [ + -0.0019121756487025937, -0.004012384113549254, -0.010039752495009976, -3.5928143712560257e-5, + -0.006268270819832618, -0.0018403193612774454, -0.0023690392268082283 + ] + }, + "loss_pct": { + "delta_pct": null, + "status": "undefined ratio to zero", + "paired_absolute_deltas": [0, 0, 0, 0, 0, 0, 0] + }, + "latency_p99_ms": { + "delta_pct": 0.0, + "mad_pct": 0.0, + "range_pct": [-0.02519526329050059, 0.02520161290322509], + "paired_deltas_pct": [ + 0.02520161290322509, 0.02520161290322509, 0.0, 0.0, -0.02519526329050059, 0.0, 0.0 + ], + "status": "sign varies across pairs", + "paired_absolute_deltas": [1, 1, 0, 0, -1, 0, 0] + } + }, + "cpu_efficiency": "not estimated: verify offered load, delivery/loss and host/load window alignment before normalizing CPU" + } + }, + "summaries": { + "relay/base/round-1/quic/video/summary.json": { + "workload": "video", + "transport": "quic", + "throughput_window_start_ms": 1793916833990, + "throughput_window_end_ms": 1793916838990, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 4.608, + "recv_mbps": 9.3312, + "send_fps": 480, + "recv_fps": 972, + "loss_pct": 0, + "latency_p50_ms": 1, + "latency_p99_ms": 3968, + "cpu_user_cores": 0.055844311377245506, + "cpu_system_cores": 0.01802395209580838, + "cpu_cores": 0.07386826347305389, + "ctx_voluntary_s": 1283.9616766467066, + "ctx_involuntary_s": 18.350099800399203, + "rss_bytes": 31760384, + "threads": 10, + "thread_cpu": [ + { + "tid": 2596859, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2596868, + "name": "tokio-rt-worker", + "cpu_cores": 0.013932135728542915 + }, + { + "tid": 2596869, + "name": "tokio-rt-worker", + "cpu_cores": 0.011932135728542913 + }, + { + "tid": 2596870, + "name": "tokio-rt-worker", + "cpu_cores": 0.004 + }, + { + "tid": 2596871, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 2596872, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2596873, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2596874, + "name": "tokio-rt-worker", + "cpu_cores": 0.013999999999999999 + }, + { + "tid": 2596875, + "name": "tokio-rt-worker", + "cpu_cores": 0.0079560878243513 + }, + { + "tid": 2596890, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 75.9961558364752, + "cpu_cores_per_gbps": 7.916266232966165, + "host_window_start_ms": 1793916833990, + "host_window_end_ms": 1793916838990, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.041832335329341316, + "cpu_system_cores": 0.016023952095808383, + "cpu_cores": 0.0578562874251497, + "ctx_voluntary_s": 1168.1449101796406, + "ctx_involuntary_s": 13.94011976047904, + "rss_bytes": 38453248, + "threads": 11, + "thread_cpu": [ + { + "tid": 2597042, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2597046, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2597047, + "name": "tokio-rt-worker", + "cpu_cores": 0.01192814371257485 + }, + { + "tid": 2597048, + "name": "tokio-rt-worker", + "cpu_cores": 0.010047904191616766 + }, + { + "tid": 2597049, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2597050, + "name": "tokio-rt-worker", + "cpu_cores": 0.00592814371257485 + }, + { + "tid": 2597051, + "name": "tokio-rt-worker", + "cpu_cores": 0.007952095808383233 + }, + { + "tid": 2597052, + "name": "tokio-rt-worker", + "cpu_cores": 0.015928143712574852 + }, + { + "tid": 2597053, + "name": "tokio-rt-worker", + "cpu_cores": 2.3952095808383102e-5 + }, + { + "tid": 2597062, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2597063, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-1/quic/chat/summary.json": { + "workload": "chat", + "transport": "quic", + "throughput_window_start_ms": 1793916854468, + "throughput_window_end_ms": 1793916859468, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.024, + "recv_mbps": 48, + "send_fps": 10, + "recv_fps": 20000, + "loss_pct": 0.09202127659574467, + "latency_p50_ms": 16, + "latency_p99_ms": 1446, + "cpu_user_cores": 1.23024750499002, + "cpu_system_cores": 0.09167664670658682, + "cpu_cores": 1.3219241516966067, + "ctx_voluntary_s": 17707.06467065868, + "ctx_involuntary_s": 2387.393213572854, + "rss_bytes": 449335296, + "threads": 10, + "thread_cpu": [ + { + "tid": 2622825, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2622831, + "name": "tokio-rt-worker", + "cpu_cores": 0.16950898203592812 + }, + { + "tid": 2622832, + "name": "tokio-rt-worker", + "cpu_cores": 0.16346506986027945 + }, + { + "tid": 2622833, + "name": "tokio-rt-worker", + "cpu_cores": 0.16950898203592812 + }, + { + "tid": 2622834, + "name": "tokio-rt-worker", + "cpu_cores": 0.16345309381237522 + }, + { + "tid": 2622835, + "name": "tokio-rt-worker", + "cpu_cores": 0.16355289421157684 + }, + { + "tid": 2622836, + "name": "tokio-rt-worker", + "cpu_cores": 0.16155289421157681 + }, + { + "tid": 2622838, + "name": "tokio-rt-worker", + "cpu_cores": 0.16355289421157684 + }, + { + "tid": 2622839, + "name": "tokio-rt-worker", + "cpu_cores": 0.16745309381237525 + }, + { + "tid": 2622841, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 160320, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 66.09620758483034, + "cpu_cores_per_gbps": 27.540086493679308, + "host_window_start_ms": 1793916854468, + "host_window_end_ms": 1793916859468, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.773561244045773, + "cpu_system_cores": 0.09776789051379313, + "cpu_cores": 0.8713291345595661, + "ctx_voluntary_s": 4184.8950370175935, + "ctx_involuntary_s": 705.5704209111658, + "rss_bytes": 910921728, + "threads": 19, + "thread_cpu": [ + { + "tid": 2623095, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2623100, + "name": "tokio-rt-worker", + "cpu_cores": 0.1095603056834538 + }, + { + "tid": 2623101, + "name": "tokio-rt-worker", + "cpu_cores": 0.1077200817488529 + }, + { + "tid": 2623102, + "name": "tokio-rt-worker", + "cpu_cores": 0.10572008174885288 + }, + { + "tid": 2623103, + "name": "tokio-rt-worker", + "cpu_cores": 0.10941687938863309 + }, + { + "tid": 2623104, + "name": "tokio-rt-worker", + "cpu_cores": 0.10781569927873336 + }, + { + "tid": 2623105, + "name": "tokio-rt-worker", + "cpu_cores": 0.10587168292896279 + }, + { + "tid": 2623106, + "name": "tokio-rt-worker", + "cpu_cores": 0.11151249691851357 + }, + { + "tid": 2623107, + "name": "tokio-rt-worker", + "cpu_cores": 0.11761628933368325 + }, + { + "tid": 2623111, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2623112, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2623148, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2623149, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2623222, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2623223, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2624979, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2624980, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2625087, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2625088, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 737280, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-1/quic/fanout/summary.json": { + "workload": "fanout", + "transport": "quic", + "throughput_window_start_ms": 1793916876512, + "throughput_window_end_ms": 1793916881511, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.03200640128025605, + "recv_mbps": 2.0484096819363873, + "send_fps": 10.002000400080016, + "recv_fps": 640.128025605121, + "loss_pct": 0.36569148936170215, + "latency_p50_ms": 2, + "latency_p99_ms": 1426, + "cpu_user_cores": 0.04188861724440697, + "cpu_system_cores": 0.00600120024004801, + "cpu_cores": 0.04788981748445498, + "ctx_voluntary_s": 543.1940679553076, + "ctx_involuntary_s": 30.793783507200445, + "rss_bytes": 37814272, + "threads": 10, + "thread_cpu": [ + { + "tid": 2653955, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2653960, + "name": "tokio-rt-worker", + "cpu_cores": 0.004032742676279768 + }, + { + "tid": 2653961, + "name": "tokio-rt-worker", + "cpu_cores": 0.008001600320064013 + }, + { + "tid": 2653962, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 2653963, + "name": "tokio-rt-worker", + "cpu_cores": 0.0059253367639595786 + }, + { + "tid": 2653964, + "name": "tokio-rt-worker", + "cpu_cores": 0.007925736843975581 + }, + { + "tid": 2653965, + "name": "tokio-rt-worker", + "cpu_cores": 0.007925736843975581 + }, + { + "tid": 2653966, + "name": "tokio-rt-worker", + "cpu_cores": 0.004032742676279767 + }, + { + "tid": 2653967, + "name": "tokio-rt-worker", + "cpu_cores": 0.006033142756295771 + }, + { + "tid": 2653968, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 74.812874251497, + "cpu_cores_per_gbps": 23.379023203592816, + "host_window_start_ms": 1793916876512, + "host_window_end_ms": 1793916881511, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.03399482291667915, + "cpu_system_cores": 0.008033542836311776, + "cpu_cores": 0.042028365752990925, + "ctx_voluntary_s": 613.0036386518823, + "ctx_involuntary_s": 3.2102228828999335, + "rss_bytes": 50040832, + "threads": 11, + "thread_cpu": [ + { + "tid": 2654167, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2654170, + "name": "tokio-rt-worker", + "cpu_cores": 0.0059253367639595786 + }, + { + "tid": 2654171, + "name": "tokio-rt-worker", + "cpu_cores": 0.004032742676279767 + }, + { + "tid": 2654173, + "name": "tokio-rt-worker", + "cpu_cores": 0.009926136923991585 + }, + { + "tid": 2654174, + "name": "tokio-rt-worker", + "cpu_cores": 0.002032342596263764 + }, + { + "tid": 2654175, + "name": "tokio-rt-worker", + "cpu_cores": 0.006033142756295771 + }, + { + "tid": 2654176, + "name": "tokio-rt-worker", + "cpu_cores": 0.0019245366039275715 + }, + { + "tid": 2654177, + "name": "tokio-rt-worker", + "cpu_cores": 0.004032742676279767 + }, + { + "tid": 2654178, + "name": "tokio-rt-worker", + "cpu_cores": 0.009914158480398677 + }, + { + "tid": 2654181, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2654182, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-2/quic/video/summary.json": { + "workload": "video", + "transport": "quic", + "throughput_window_start_ms": 1793916907251, + "throughput_window_end_ms": 1793916912250, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 4.603160632126426, + "recv_mbps": 9.676815363072615, + "send_fps": 479.495899179836, + "recv_fps": 1008.0016003200641, + "loss_pct": 0, + "latency_p50_ms": 1, + "latency_p99_ms": 3968, + "cpu_user_cores": 0.057879839440942084, + "cpu_system_cores": 0.01996007984031936, + "cpu_cores": 0.07783991928126144, + "ctx_voluntary_s": 1497.146135813989, + "ctx_involuntary_s": 57.64665907233343, + "rss_bytes": 32477184, + "threads": 10, + "thread_cpu": [ + { + "tid": 2692298, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2692303, + "name": "tokio-rt-worker", + "cpu_cores": 0.008001600320064013 + }, + { + "tid": 2692304, + "name": "tokio-rt-worker", + "cpu_cores": 0.012038335810874752 + }, + { + "tid": 2692305, + "name": "tokio-rt-worker", + "cpu_cores": 0.011922544189476619 + }, + { + "tid": 2692306, + "name": "tokio-rt-worker", + "cpu_cores": 0.010002000400080016 + }, + { + "tid": 2692307, + "name": "tokio-rt-worker", + "cpu_cores": 0.010002000400080016 + }, + { + "tid": 2692308, + "name": "tokio-rt-worker", + "cpu_cores": 0.005957279280207339 + }, + { + "tid": 2692309, + "name": "tokio-rt-worker", + "cpu_cores": 0.011922544189476619 + }, + { + "tid": 2692310, + "name": "tokio-rt-worker", + "cpu_cores": 0.009994014771018076 + }, + { + "tid": 2692313, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 77.22201954495453, + "cpu_cores_per_gbps": 8.043960369266099, + "host_window_start_ms": 1793916907251, + "host_window_end_ms": 1793916912250, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.04396088798598044, + "cpu_system_cores": 0.017959679760303358, + "cpu_cores": 0.061920567746283794, + "ctx_voluntary_s": 1351.2075668626742, + "ctx_involuntary_s": 37.2158263988127, + "rss_bytes": 39874560, + "threads": 11, + "thread_cpu": [ + { + "tid": 2692490, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2692492, + "name": "tokio-rt-worker", + "cpu_cores": 0.008041528465373714 + }, + { + "tid": 2692493, + "name": "tokio-rt-worker", + "cpu_cores": 0.008081456610683416 + }, + { + "tid": 2692494, + "name": "tokio-rt-worker", + "cpu_cores": 0.008041528465373714 + }, + { + "tid": 2692495, + "name": "tokio-rt-worker", + "cpu_cores": 0.010002000400080016 + }, + { + "tid": 2692496, + "name": "tokio-rt-worker", + "cpu_cores": 0.008001600320064013 + }, + { + "tid": 2692497, + "name": "tokio-rt-worker", + "cpu_cores": 0.009918151294929645 + }, + { + "tid": 2692498, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2692499, + "name": "tokio-rt-worker", + "cpu_cores": 0.008001600320064013 + }, + { + "tid": 2692502, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2692503, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 10836, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-2/quic/chat/summary.json": { + "workload": "chat", + "transport": "quic", + "throughput_window_start_ms": 1793916928333, + "throughput_window_end_ms": 1793916933333, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.024, + "recv_mbps": 48, + "send_fps": 10, + "recv_fps": 20000, + "loss_pct": 0.09202127659574467, + "latency_p50_ms": 16, + "latency_p99_ms": 1446, + "cpu_user_cores": 1.2509620758483035, + "cpu_system_cores": 0.0937245508982036, + "cpu_cores": 1.3446866267465072, + "ctx_voluntary_s": 16001.795608782437, + "ctx_involuntary_s": 2481.2055888223554, + "rss_bytes": 449810432, + "threads": 10, + "thread_cpu": [ + { + "tid": 2715525, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2715530, + "name": "tokio-rt-worker", + "cpu_cores": 0.17131736526946106 + }, + { + "tid": 2715531, + "name": "tokio-rt-worker", + "cpu_cores": 0.16548502994011974 + }, + { + "tid": 2715532, + "name": "tokio-rt-worker", + "cpu_cores": 0.16723752495009978 + }, + { + "tid": 2715533, + "name": "tokio-rt-worker", + "cpu_cores": 0.1734051896207585 + }, + { + "tid": 2715534, + "name": "tokio-rt-worker", + "cpu_cores": 0.16523752495009975 + }, + { + "tid": 2715535, + "name": "tokio-rt-worker", + "cpu_cores": 0.16336127744510975 + }, + { + "tid": 2715536, + "name": "tokio-rt-worker", + "cpu_cores": 0.16928143712574847 + }, + { + "tid": 2715537, + "name": "tokio-rt-worker", + "cpu_cores": 0.16940518962075846 + }, + { + "tid": 2715540, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 98880, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 67.23433133732536, + "cpu_cores_per_gbps": 28.01430472388557, + "host_window_start_ms": 1793916928333, + "host_window_end_ms": 1793916933333, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.8168863070671406, + "cpu_system_cores": 0.08169622507972103, + "cpu_cores": 0.8985825321468617, + "ctx_voluntary_s": 4301.124854673125, + "ctx_involuntary_s": 848.8168284944056, + "rss_bytes": 912334848, + "threads": 18, + "thread_cpu": [ + { + "tid": 2715715, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2715719, + "name": "tokio-rt-worker", + "cpu_cores": 0.11379184260960154 + }, + { + "tid": 2715720, + "name": "tokio-rt-worker", + "cpu_cores": 0.1096202813496513 + }, + { + "tid": 2715721, + "name": "tokio-rt-worker", + "cpu_cores": 0.10974403384466128 + }, + { + "tid": 2715722, + "name": "tokio-rt-worker", + "cpu_cores": 0.1094965288546413 + }, + { + "tid": 2715723, + "name": "tokio-rt-worker", + "cpu_cores": 0.11546839388951184 + }, + { + "tid": 2715724, + "name": "tokio-rt-worker", + "cpu_cores": 0.11749652885464135 + }, + { + "tid": 2715725, + "name": "tokio-rt-worker", + "cpu_cores": 0.11949652885464132 + }, + { + "tid": 2715726, + "name": "tokio-rt-worker", + "cpu_cores": 0.1094965288546413 + }, + { + "tid": 2715727, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2715728, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2715740, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2715741, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2716764, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2716765, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2716766, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2716767, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2717285, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 726400, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-2/quic/fanout/summary.json": { + "workload": "fanout", + "transport": "quic", + "throughput_window_start_ms": 1793916949419, + "throughput_window_end_ms": 1793916954419, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.032, + "recv_mbps": 2.048, + "send_fps": 10, + "recv_fps": 640, + "loss_pct": 0.2992021276595745, + "latency_p50_ms": 1, + "latency_p99_ms": 1429, + "cpu_user_cores": 0.039920271457085835, + "cpu_system_cores": 0.006028, + "cpu_cores": 0.04594827145708583, + "ctx_voluntary_s": 778.6619728542915, + "ctx_involuntary_s": 36.8971121756487, + "rss_bytes": 37367808, + "threads": 10, + "thread_cpu": [ + { + "tid": 2739769, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2739774, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2739775, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2739776, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2739777, + "name": "tokio-rt-worker", + "cpu_cores": 0.007932135728542915 + }, + { + "tid": 2739778, + "name": "tokio-rt-worker", + "cpu_cores": 0.004028000000000001 + }, + { + "tid": 2739779, + "name": "tokio-rt-worker", + "cpu_cores": 0.004028000000000001 + }, + { + "tid": 2739780, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2739781, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2739784, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 71.79417415169661, + "cpu_cores_per_gbps": 22.43567942240519, + "host_window_start_ms": 1793916949419, + "host_window_end_ms": 1793916954419, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.033928143712574854, + "cpu_system_cores": 0.006031936127744511, + "cpu_cores": 0.039960079840319365, + "ctx_voluntary_s": 730.3037924151697, + "ctx_involuntary_s": 4.385628742514972, + "rss_bytes": 52146176, + "threads": 11, + "thread_cpu": [ + { + "tid": 2740010, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2740014, + "name": "tokio-rt-worker", + "cpu_cores": 0.003999999999999999 + }, + { + "tid": 2740015, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2740016, + "name": "tokio-rt-worker", + "cpu_cores": 0.008000000000000002 + }, + { + "tid": 2740017, + "name": "tokio-rt-worker", + "cpu_cores": 0.003999999999999999 + }, + { + "tid": 2740018, + "name": "tokio-rt-worker", + "cpu_cores": 0.002 + }, + { + "tid": 2740019, + "name": "tokio-rt-worker", + "cpu_cores": 0.005932135728542914 + }, + { + "tid": 2740020, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2740021, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2740024, + "name": "tokio-rt-worker", + "cpu_cores": 0.004031936127744512 + }, + { + "tid": 2740025, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-3/quic/video/summary.json": { + "workload": "video", + "transport": "quic", + "throughput_window_start_ms": 1793916959660, + "throughput_window_end_ms": 1793916964660, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 4.608, + "recv_mbps": 9.32928, + "send_fps": 480, + "recv_fps": 971.8, + "loss_pct": 0, + "latency_p50_ms": 1, + "latency_p99_ms": 3968, + "cpu_user_cores": 0.05588023952095809, + "cpu_system_cores": 0.017960079840319366, + "cpu_cores": 0.07384031936127745, + "ctx_voluntary_s": 1326.995608782435, + "ctx_involuntary_s": 8.396007984031936, + "rss_bytes": 32735232, + "threads": 10, + "thread_cpu": [ + { + "tid": 2753428, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2753434, + "name": "tokio-rt-worker", + "cpu_cores": 0.009999999999999998 + }, + { + "tid": 2753435, + "name": "tokio-rt-worker", + "cpu_cores": 0.008027944111776448 + }, + { + "tid": 2753436, + "name": "tokio-rt-worker", + "cpu_cores": 0.004 + }, + { + "tid": 2753437, + "name": "tokio-rt-worker", + "cpu_cores": 0.009999999999999998 + }, + { + "tid": 2753438, + "name": "tokio-rt-worker", + "cpu_cores": 0.007892215568862274 + }, + { + "tid": 2753439, + "name": "tokio-rt-worker", + "cpu_cores": 0.011960079840319363 + }, + { + "tid": 2753440, + "name": "tokio-rt-worker", + "cpu_cores": 0.010027944111776446 + }, + { + "tid": 2753441, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2753444, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 75.98304112088645, + "cpu_cores_per_gbps": 7.9149001167590045, + "host_window_start_ms": 1793916959660, + "host_window_end_ms": 1793916964660, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.03998802395209581, + "cpu_system_cores": 0.017932135728542915, + "cpu_cores": 0.057920159680638725, + "ctx_voluntary_s": 1327.4031936127747, + "ctx_involuntary_s": 6.608383233532933, + "rss_bytes": 40562688, + "threads": 11, + "thread_cpu": [ + { + "tid": 2753619, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2753623, + "name": "tokio-rt-worker", + "cpu_cores": 0.007932135728542915 + }, + { + "tid": 2753624, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2753625, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2753626, + "name": "tokio-rt-worker", + "cpu_cores": 0.010027944111776446 + }, + { + "tid": 2753628, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2753629, + "name": "tokio-rt-worker", + "cpu_cores": 0.015932135728542914 + }, + { + "tid": 2753630, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2753632, + "name": "tokio-rt-worker", + "cpu_cores": 0.011864271457085827 + }, + { + "tid": 2753633, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2753634, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 960, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-3/quic/chat/summary.json": { + "workload": "chat", + "transport": "quic", + "throughput_window_start_ms": 1793916980115, + "throughput_window_end_ms": 1793916985115, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.024, + "recv_mbps": 48, + "send_fps": 10, + "recv_fps": 20000, + "loss_pct": 0.06702127659574468, + "latency_p50_ms": 15, + "latency_p99_ms": 1443, + "cpu_user_cores": 1.283597913084722, + "cpu_system_cores": 0.0998764451295429, + "cpu_cores": 1.3834743582142648, + "ctx_voluntary_s": 20038.586506195534, + "ctx_involuntary_s": 2570.5234481531984, + "rss_bytes": 449081344, + "threads": 10, + "thread_cpu": [ + { + "tid": 2776415, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2776421, + "name": "tokio-rt-worker", + "cpu_cores": 0.17339740321337524 + }, + { + "tid": 2776422, + "name": "tokio-rt-worker", + "cpu_cores": 0.16763597557360527 + }, + { + "tid": 2776423, + "name": "tokio-rt-worker", + "cpu_cores": 0.17539645461552142 + }, + { + "tid": 2776424, + "name": "tokio-rt-worker", + "cpu_cores": 0.17745680915396927 + }, + { + "tid": 2776425, + "name": "tokio-rt-worker", + "cpu_cores": 0.1792776427343333 + }, + { + "tid": 2776426, + "name": "tokio-rt-worker", + "cpu_cores": 0.17539740321337524 + }, + { + "tid": 2776427, + "name": "tokio-rt-worker", + "cpu_cores": 0.16739740321337523 + }, + { + "tid": 2776428, + "name": "tokio-rt-worker", + "cpu_cores": 0.16751621509456335 + }, + { + "tid": 2776429, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 79680, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 69.17371791071324, + "cpu_cores_per_gbps": 28.822382462797183, + "host_window_start_ms": 1793916980115, + "host_window_end_ms": 1793916985115, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.8128073753483134, + "cpu_system_cores": 0.07980201972293037, + "cpu_cores": 0.8926093950712437, + "ctx_voluntary_s": 4550.176885832299, + "ctx_involuntary_s": 670.9285310566984, + "rss_bytes": 911781888, + "threads": 18, + "thread_cpu": [ + { + "tid": 2776599, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2776603, + "name": "tokio-rt-worker", + "cpu_cores": 0.11360898005968263 + }, + { + "tid": 2776604, + "name": "tokio-rt-worker", + "cpu_cores": 0.10779707910910852 + }, + { + "tid": 2776605, + "name": "tokio-rt-worker", + "cpu_cores": 0.11755451473291045 + }, + { + "tid": 2776606, + "name": "tokio-rt-worker", + "cpu_cores": 0.1156782672279204 + }, + { + "tid": 2776607, + "name": "tokio-rt-worker", + "cpu_cores": 0.11149016817849451 + }, + { + "tid": 2776608, + "name": "tokio-rt-worker", + "cpu_cores": 0.10954957411908857 + }, + { + "tid": 2776609, + "name": "tokio-rt-worker", + "cpu_cores": 0.10349510879231635 + }, + { + "tid": 2776610, + "name": "tokio-rt-worker", + "cpu_cores": 0.1098020197229304 + }, + { + "tid": 2776620, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2776621, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2776624, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2776625, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2778105, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2778106, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2778107, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2778108, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2778109, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 1071360, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-3/quic/fanout/summary.json": { + "workload": "fanout", + "transport": "quic", + "throughput_window_start_ms": 1793917001798, + "throughput_window_end_ms": 1793917006797, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.03200640128025605, + "recv_mbps": 2.0484096819363873, + "send_fps": 10.002000400080016, + "recv_fps": 640.128025605121, + "loss_pct": 0.7147606382978723, + "latency_p50_ms": 1, + "latency_p99_ms": 1427, + "cpu_user_cores": 0.04192828984958668, + "cpu_system_cores": 0.004024757047217827, + "cpu_cores": 0.0459530468968045, + "ctx_voluntary_s": 644.790773723607, + "ctx_involuntary_s": 27.36138125828759, + "rss_bytes": 37494784, + "threads": 10, + "thread_cpu": [ + { + "tid": 2803969, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2803974, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2803975, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 2803976, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 2803977, + "name": "tokio-rt-worker", + "cpu_cores": 0.008001600320064013 + }, + { + "tid": 2803978, + "name": "tokio-rt-worker", + "cpu_cores": 0.008001600320064013 + }, + { + "tid": 2803979, + "name": "tokio-rt-worker", + "cpu_cores": 0.008001600320064013 + }, + { + "tid": 2803980, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2803981, + "name": "tokio-rt-worker", + "cpu_cores": 0.005961144324673318 + }, + { + "tid": 2803983, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 71.78727544910178, + "cpu_cores_per_gbps": 22.43352357784431, + "host_window_start_ms": 1793917001798, + "host_window_end_ms": 1793917006797, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.0358954026334209, + "cpu_system_cores": 0.00600120024004801, + "cpu_cores": 0.041896602873468906, + "ctx_voluntary_s": 641.5826079387534, + "ctx_involuntary_s": 3.2058307869158664, + "rss_bytes": 50200576, + "threads": 11, + "thread_cpu": [ + { + "tid": 2804160, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2804174, + "name": "tokio-rt-worker", + "cpu_cores": 0.004024757047217827 + }, + { + "tid": 2804175, + "name": "tokio-rt-worker", + "cpu_cores": 0.0020243569672018236 + }, + { + "tid": 2804176, + "name": "tokio-rt-worker", + "cpu_cores": 0.004024757047217826 + }, + { + "tid": 2804177, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2804178, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 2804179, + "name": "tokio-rt-worker", + "cpu_cores": 0.007933722473037523 + }, + { + "tid": 2804180, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032007 + }, + { + "tid": 2804181, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 2804183, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2804184, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-4/quic/video/summary.json": { + "workload": "video", + "transport": "quic", + "throughput_window_start_ms": 1793917032503, + "throughput_window_end_ms": 1793917037503, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 4.608, + "recv_mbps": 9.3312, + "send_fps": 480, + "recv_fps": 972, + "loss_pct": 0, + "latency_p50_ms": 1, + "latency_p99_ms": 3969, + "cpu_user_cores": 0.041920159680638724, + "cpu_system_cores": 0.01996007984031936, + "cpu_cores": 0.061880239520958086, + "ctx_voluntary_s": 994.9892215568864, + "ctx_involuntary_s": 1.0, + "rss_bytes": 31858688, + "threads": 10, + "thread_cpu": [ + { + "tid": 2839515, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2839520, + "name": "tokio-rt-worker", + "cpu_cores": 0.004055888223552894 + }, + { + "tid": 2839521, + "name": "tokio-rt-worker", + "cpu_cores": 0.011932135728542913 + }, + { + "tid": 2839522, + "name": "tokio-rt-worker", + "cpu_cores": 0.007932135728542915 + }, + { + "tid": 2839523, + "name": "tokio-rt-worker", + "cpu_cores": 0.004027944111776446 + }, + { + "tid": 2839524, + "name": "tokio-rt-worker", + "cpu_cores": 0.006027944111776448 + }, + { + "tid": 2839525, + "name": "tokio-rt-worker", + "cpu_cores": 0.011932135728542913 + }, + { + "tid": 2839526, + "name": "tokio-rt-worker", + "cpu_cores": 0.008027944111776448 + }, + { + "tid": 2839527, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2839530, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 63.66279786106799, + "cpu_cores_per_gbps": 6.6315414438612486, + "host_window_start_ms": 1793917032503, + "host_window_end_ms": 1793917037503, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.0319560878243513, + "cpu_system_cores": 0.01592814371257485, + "cpu_cores": 0.04788423153692614, + "ctx_voluntary_s": 1047.1580838323357, + "ctx_involuntary_s": 0.8, + "rss_bytes": 40849408, + "threads": 11, + "thread_cpu": [ + { + "tid": 2839714, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2839718, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2839719, + "name": "tokio-rt-worker", + "cpu_cores": 0.010027944111776448 + }, + { + "tid": 2839720, + "name": "tokio-rt-worker", + "cpu_cores": 0.00392814371257485 + }, + { + "tid": 2839721, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2839722, + "name": "tokio-rt-worker", + "cpu_cores": 0.003999999999999999 + }, + { + "tid": 2839723, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 2839724, + "name": "tokio-rt-worker", + "cpu_cores": 0.002 + }, + { + "tid": 2839725, + "name": "tokio-rt-worker", + "cpu_cores": 0.005956087824351297 + }, + { + "tid": 2839728, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2839729, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-4/quic/chat/summary.json": { + "workload": "chat", + "transport": "quic", + "throughput_window_start_ms": 1793917053465, + "throughput_window_end_ms": 1793917058465, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.02448, + "recv_mbps": 48, + "send_fps": 10.2, + "recv_fps": 20000, + "loss_pct": 0.09148936170212765, + "latency_p50_ms": 15, + "latency_p99_ms": 1444, + "cpu_user_cores": 1.2915663334685212, + "cpu_system_cores": 0.12755812677433975, + "cpu_cores": 1.419124460242861, + "ctx_voluntary_s": 26117.641481976287, + "ctx_involuntary_s": 2609.0012119187923, + "rss_bytes": 448892928, + "threads": 10, + "thread_cpu": [ + { + "tid": 2862033, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2862038, + "name": "tokio-rt-worker", + "cpu_cores": 0.1773910823770785 + }, + { + "tid": 2862039, + "name": "tokio-rt-worker", + "cpu_cores": 0.1792515685759954 + }, + { + "tid": 2862040, + "name": "tokio-rt-worker", + "cpu_cores": 0.17545873989073643 + }, + { + "tid": 2862041, + "name": "tokio-rt-worker", + "cpu_cores": 0.17742701052079107 + }, + { + "tid": 2862042, + "name": "tokio-rt-worker", + "cpu_cores": 0.17749466803444902 + }, + { + "tid": 2862043, + "name": "tokio-rt-worker", + "cpu_cores": 0.1772515685759954 + }, + { + "tid": 2862044, + "name": "tokio-rt-worker", + "cpu_cores": 0.1753910823770785 + }, + { + "tid": 2862045, + "name": "tokio-rt-worker", + "cpu_cores": 0.17735515423336592 + }, + { + "tid": 2862048, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 86400, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 70.95622301214304, + "cpu_cores_per_gbps": 29.565092921726272, + "host_window_start_ms": 1793917053465, + "host_window_end_ms": 1793917058465, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.79938123752495, + "cpu_system_cores": 0.07766467065868266, + "cpu_cores": 0.8770459081836327, + "ctx_voluntary_s": 5315.457884231536, + "ctx_involuntary_s": 609.7968063872256, + "rss_bytes": 911962112, + "threads": 17, + "thread_cpu": [ + { + "tid": 2862230, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2862233, + "name": "tokio-rt-worker", + "cpu_cores": 0.11365668662674651 + }, + { + "tid": 2862234, + "name": "tokio-rt-worker", + "cpu_cores": 0.10578443113772455 + }, + { + "tid": 2862235, + "name": "tokio-rt-worker", + "cpu_cores": 0.10955289421157685 + }, + { + "tid": 2862236, + "name": "tokio-rt-worker", + "cpu_cores": 0.10928942115768463 + }, + { + "tid": 2862237, + "name": "tokio-rt-worker", + "cpu_cores": 0.10957684630738525 + }, + { + "tid": 2862238, + "name": "tokio-rt-worker", + "cpu_cores": 0.11547305389221559 + }, + { + "tid": 2862239, + "name": "tokio-rt-worker", + "cpu_cores": 0.1018642714570858 + }, + { + "tid": 2862240, + "name": "tokio-rt-worker", + "cpu_cores": 0.11164071856287427 + }, + { + "tid": 2862242, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2862243, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2862258, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2862259, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2862683, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2863758, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2863759, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2863766, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 427520, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-4/quic/fanout/summary.json": { + "workload": "fanout", + "transport": "quic", + "throughput_window_start_ms": 1793917074512, + "throughput_window_end_ms": 1793917079511, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.03136627325465093, + "recv_mbps": 2.0484096819363873, + "send_fps": 9.801960392078417, + "recv_fps": 640.128025605121, + "loss_pct": 0.8643617021276596, + "latency_p50_ms": 1, + "latency_p99_ms": 1425, + "cpu_user_cores": 0.037967673374994355, + "cpu_system_cores": 0.004000800160032007, + "cpu_cores": 0.04196847353502636, + "ctx_voluntary_s": 623.6245253042624, + "ctx_involuntary_s": 32.504305252268026, + "rss_bytes": 37199872, + "threads": 10, + "thread_cpu": [ + { + "tid": 2884921, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2884926, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2884927, + "name": "tokio-rt-worker", + "cpu_cores": 0.007929729658506553 + }, + { + "tid": 2884928, + "name": "tokio-rt-worker", + "cpu_cores": 0.004032742676279767 + }, + { + "tid": 2884929, + "name": "tokio-rt-worker", + "cpu_cores": 0.004032742676279767 + }, + { + "tid": 2884930, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2884931, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2884932, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 2884933, + "name": "tokio-rt-worker", + "cpu_cores": 0.007929729658506553 + }, + { + "tid": 2884936, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 65.562624750499, + "cpu_cores_per_gbps": 20.488320234530935, + "host_window_start_ms": 1793917074512, + "host_window_end_ms": 1793917079511, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.03199442283666315, + "cpu_system_cores": 0.008001600320064015, + "cpu_cores": 0.039996023156727165, + "ctx_voluntary_s": 589.6644398740028, + "ctx_involuntary_s": 9.759237276597037, + "rss_bytes": 49037312, + "threads": 11, + "thread_cpu": [ + { + "tid": 2885108, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2885111, + "name": "tokio-rt-worker", + "cpu_cores": 0.002032342596263763 + }, + { + "tid": 2885112, + "name": "tokio-rt-worker", + "cpu_cores": 0.003924936683943574 + }, + { + "tid": 2885113, + "name": "tokio-rt-worker", + "cpu_cores": 0.006033142756295772 + }, + { + "tid": 2885114, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2885115, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 2885116, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2885117, + "name": "tokio-rt-worker", + "cpu_cores": 0.006033142756295772 + }, + { + "tid": 2885118, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2885120, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2885121, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-5/quic/video/summary.json": { + "workload": "video", + "transport": "quic", + "throughput_window_start_ms": 1793917085302, + "throughput_window_end_ms": 1793917090302, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 4.608, + "recv_mbps": 9.3312, + "send_fps": 480, + "recv_fps": 972, + "loss_pct": 0, + "latency_p50_ms": 0, + "latency_p99_ms": 3969, + "cpu_user_cores": 0.05807984031936129, + "cpu_system_cores": 0.018079840319361277, + "cpu_cores": 0.07615968063872257, + "ctx_voluntary_s": 1437.602395209581, + "ctx_involuntary_s": 97.8119760479042, + "rss_bytes": 32727040, + "threads": 10, + "thread_cpu": [ + { + "tid": 2906575, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2906636, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 2906637, + "name": "tokio-rt-worker", + "cpu_cores": 0.010079840319361277 + }, + { + "tid": 2906638, + "name": "tokio-rt-worker", + "cpu_cores": 0.012039920159680641 + }, + { + "tid": 2906639, + "name": "tokio-rt-worker", + "cpu_cores": 0.00803992015968064 + }, + { + "tid": 2906640, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 2906641, + "name": "tokio-rt-worker", + "cpu_cores": 3.992015968063839e-5 + }, + { + "tid": 2906642, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2906643, + "name": "tokio-rt-worker", + "cpu_cores": 0.012 + }, + { + "tid": 2906656, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 2229, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 78.35358090403557, + "cpu_cores_per_gbps": 8.16183134417037, + "host_window_start_ms": 1793917085302, + "host_window_end_ms": 1793917090302, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.04207984031936128, + "cpu_system_cores": 0.02003992015968064, + "cpu_cores": 0.06211976047904192, + "ctx_voluntary_s": 1321.9181636726548, + "ctx_involuntary_s": 55.61596806387225, + "rss_bytes": 40890368, + "threads": 11, + "thread_cpu": [ + { + "tid": 2907735, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2907743, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2907744, + "name": "tokio-rt-worker", + "cpu_cores": 0.004 + }, + { + "tid": 2907745, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 2907746, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2907747, + "name": "tokio-rt-worker", + "cpu_cores": 0.007999999999999998 + }, + { + "tid": 2907748, + "name": "tokio-rt-worker", + "cpu_cores": 0.012 + }, + { + "tid": 2907749, + "name": "tokio-rt-worker", + "cpu_cores": 0.0020798403193612773 + }, + { + "tid": 2907750, + "name": "tokio-rt-worker", + "cpu_cores": 0.006039920159680639 + }, + { + "tid": 2907756, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2907758, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-5/quic/chat/summary.json": { + "workload": "chat", + "transport": "quic", + "throughput_window_start_ms": 1793917105786, + "throughput_window_end_ms": 1793917110286, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.023466666666666667, + "recv_mbps": 48, + "send_fps": 9.777777777777779, + "recv_fps": 20000, + "loss_pct": 0.08351063829787234, + "latency_p50_ms": 14, + "latency_p99_ms": 1445, + "cpu_user_cores": 1.2401614036203819, + "cpu_system_cores": 0.11545005606317245, + "cpu_cores": 1.3556114596835542, + "ctx_voluntary_s": 24786.389518439886, + "ctx_involuntary_s": 2607.908334724972, + "rss_bytes": 449388544, + "threads": 10, + "thread_cpu": [ + { + "tid": 2933197, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2933203, + "name": "tokio-rt-worker", + "cpu_cores": 0.1683585286266776 + }, + { + "tid": 2933204, + "name": "tokio-rt-worker", + "cpu_cores": 0.17058075084889981 + }, + { + "tid": 2933206, + "name": "tokio-rt-worker", + "cpu_cores": 0.16853127741860235 + }, + { + "tid": 2933207, + "name": "tokio-rt-worker", + "cpu_cores": 0.17051445581612337 + }, + { + "tid": 2933208, + "name": "tokio-rt-worker", + "cpu_cores": 0.1704612289365492 + }, + { + "tid": 2933209, + "name": "tokio-rt-worker", + "cpu_cores": 0.1683585286266776 + }, + { + "tid": 2933210, + "name": "tokio-rt-worker", + "cpu_cores": 0.16847805053902815 + }, + { + "tid": 2933211, + "name": "tokio-rt-worker", + "cpu_cores": 0.16829223359390116 + }, + { + "tid": 2933212, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 85440, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 67.78057298417771, + "cpu_cores_per_gbps": 28.241905410074043, + "host_window_start_ms": 1793917105786, + "host_window_end_ms": 1793917110286, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.7932490574406743, + "cpu_system_cores": 0.08197383011754265, + "cpu_cores": 0.875222887558217, + "ctx_voluntary_s": 5072.69283654912, + "ctx_involuntary_s": 735.0499001996008, + "rss_bytes": 912748544, + "threads": 18, + "thread_cpu": [ + { + "tid": 2933394, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2933398, + "name": "tokio-rt-worker", + "cpu_cores": 0.10647150144156131 + }, + { + "tid": 2933399, + "name": "tokio-rt-worker", + "cpu_cores": 0.10845863827899756 + }, + { + "tid": 2933400, + "name": "tokio-rt-worker", + "cpu_cores": 0.09980483477489463 + }, + { + "tid": 2933401, + "name": "tokio-rt-worker", + "cpu_cores": 0.10412951874029716 + }, + { + "tid": 2933402, + "name": "tokio-rt-worker", + "cpu_cores": 0.10652916389443334 + }, + { + "tid": 2933403, + "name": "tokio-rt-worker", + "cpu_cores": 0.11956974939010867 + }, + { + "tid": 2933404, + "name": "tokio-rt-worker", + "cpu_cores": 0.11092038145930362 + }, + { + "tid": 2933405, + "name": "tokio-rt-worker", + "cpu_cores": 0.11717010423597249 + }, + { + "tid": 2933407, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2933408, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2933432, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2933433, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2933505, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2933506, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2935466, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2935467, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2935798, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 1080320, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-5/quic/fanout/summary.json": { + "workload": "fanout", + "transport": "quic", + "throughput_window_start_ms": 1793917126858, + "throughput_window_end_ms": 1793917131858, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.032, + "recv_mbps": 2.048, + "send_fps": 10, + "recv_fps": 640, + "loss_pct": 0.598404255319149, + "latency_p50_ms": 1, + "latency_p99_ms": 1425, + "cpu_user_cores": 0.039920287425149706, + "cpu_system_cores": 0.006, + "cpu_cores": 0.045920287425149704, + "ctx_voluntary_s": 538.2975520958086, + "ctx_involuntary_s": 33.12505868263473, + "rss_bytes": 37588992, + "threads": 10, + "thread_cpu": [ + { + "tid": 2956200, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2956205, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2956206, + "name": "tokio-rt-worker", + "cpu_cores": 0.005960143712574852 + }, + { + "tid": 2956207, + "name": "tokio-rt-worker", + "cpu_cores": 0.004031999999999999 + }, + { + "tid": 2956208, + "name": "tokio-rt-worker", + "cpu_cores": 0.00392814371257485 + }, + { + "tid": 2956209, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2956210, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2956211, + "name": "tokio-rt-worker", + "cpu_cores": 0.003999999999999999 + }, + { + "tid": 2956212, + "name": "tokio-rt-worker", + "cpu_cores": 0.006032000000000001 + }, + { + "tid": 2956213, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 71.75044910179642, + "cpu_cores_per_gbps": 22.422015344311376, + "host_window_start_ms": 1793917126858, + "host_window_end_ms": 1793917131858, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.03592814371257485, + "cpu_system_cores": 0.005964071856287426, + "cpu_cores": 0.04189221556886227, + "ctx_voluntary_s": 632.2179640718563, + "ctx_involuntary_s": 3.7856287425149673, + "rss_bytes": 51331072, + "threads": 11, + "thread_cpu": [ + { + "tid": 2956390, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2956393, + "name": "tokio-rt-worker", + "cpu_cores": 0.010035928143712576 + }, + { + "tid": 2956394, + "name": "tokio-rt-worker", + "cpu_cores": 0.002 + }, + { + "tid": 2956395, + "name": "tokio-rt-worker", + "cpu_cores": 0.00592814371257485 + }, + { + "tid": 2956396, + "name": "tokio-rt-worker", + "cpu_cores": 0.009999999999999998 + }, + { + "tid": 2956397, + "name": "tokio-rt-worker", + "cpu_cores": 0.00392814371257485 + }, + { + "tid": 2956398, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2956399, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2956400, + "name": "tokio-rt-worker", + "cpu_cores": 0.0020000000000000005 + }, + { + "tid": 2956402, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2956403, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-6/quic/video/summary.json": { + "workload": "video", + "transport": "quic", + "throughput_window_start_ms": 1793917157620, + "throughput_window_end_ms": 1793917162620, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 4.60992, + "recv_mbps": 9.4464, + "send_fps": 480.2, + "recv_fps": 984, + "loss_pct": 0, + "latency_p50_ms": 1, + "latency_p99_ms": 3969, + "cpu_user_cores": 0.05388040718562874, + "cpu_system_cores": 0.019960135728542914, + "cpu_cores": 0.07384054291417165, + "ctx_voluntary_s": 1285.8742387225548, + "ctx_involuntary_s": 14.961322155688624, + "rss_bytes": 32141312, + "threads": 10, + "thread_cpu": [ + { + "tid": 2992217, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 2992222, + "name": "tokio-rt-worker", + "cpu_cores": 0.010027999999999999 + }, + { + "tid": 2992223, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 2992224, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 2992225, + "name": "tokio-rt-worker", + "cpu_cores": 0.009932135728542915 + }, + { + "tid": 2992226, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2992227, + "name": "tokio-rt-worker", + "cpu_cores": 0.007960135728542915 + }, + { + "tid": 2992228, + "name": "tokio-rt-worker", + "cpu_cores": 0.005932135728542914 + }, + { + "tid": 2992229, + "name": "tokio-rt-worker", + "cpu_cores": 0.011960135728542914 + }, + { + "tid": 2992232, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 4454, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 75.04120214854842, + "cpu_cores_per_gbps": 7.816791890473794, + "host_window_start_ms": 1793917157620, + "host_window_end_ms": 1793917162620, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.039928143712574846, + "cpu_system_cores": 0.016031936127744513, + "cpu_cores": 0.05596007984031936, + "ctx_voluntary_s": 1268.684231536926, + "ctx_involuntary_s": 7.392814371257485, + "rss_bytes": 39915520, + "threads": 11, + "thread_cpu": [ + { + "tid": 2992449, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2992453, + "name": "tokio-rt-worker", + "cpu_cores": 0.011932135728542913 + }, + { + "tid": 2992454, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2992455, + "name": "tokio-rt-worker", + "cpu_cores": 0.010063872255489022 + }, + { + "tid": 2992456, + "name": "tokio-rt-worker", + "cpu_cores": 0.005932135728542914 + }, + { + "tid": 2992458, + "name": "tokio-rt-worker", + "cpu_cores": 0.007932135728542915 + }, + { + "tid": 2992459, + "name": "tokio-rt-worker", + "cpu_cores": 0.012031936127744511 + }, + { + "tid": 2992460, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2992461, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2992462, + "name": "tokio-rt-worker", + "cpu_cores": 0.00203193612774451 + }, + { + "tid": 2992463, + "name": "tokio-rt-worker", + "cpu_cores": 0.00603193612774451 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 960, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-6/quic/chat/summary.json": { + "workload": "chat", + "transport": "quic", + "throughput_window_start_ms": 1793917178726, + "throughput_window_end_ms": 1793917183726, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.024, + "recv_mbps": 48, + "send_fps": 10, + "recv_fps": 20000, + "loss_pct": 0.09148936170212765, + "latency_p50_ms": 15, + "latency_p99_ms": 1444, + "cpu_user_cores": 1.2843233532934133, + "cpu_system_cores": 0.10982035928143712, + "cpu_cores": 1.3941437125748504, + "ctx_voluntary_s": 22670.384830339317, + "ctx_involuntary_s": 2231.3125748502994, + "rss_bytes": 449110016, + "threads": 10, + "thread_cpu": [ + { + "tid": 3017342, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 3017347, + "name": "tokio-rt-worker", + "cpu_cores": 0.17555289421157685 + }, + { + "tid": 3017348, + "name": "tokio-rt-worker", + "cpu_cores": 0.17155289421157685 + }, + { + "tid": 3017349, + "name": "tokio-rt-worker", + "cpu_cores": 0.18145309381237523 + }, + { + "tid": 3017350, + "name": "tokio-rt-worker", + "cpu_cores": 0.1695528942115768 + }, + { + "tid": 3017351, + "name": "tokio-rt-worker", + "cpu_cores": 0.17549700598802392 + }, + { + "tid": 3017352, + "name": "tokio-rt-worker", + "cpu_cores": 0.17354091816367262 + }, + { + "tid": 3017353, + "name": "tokio-rt-worker", + "cpu_cores": 0.17545309381237523 + }, + { + "tid": 3017354, + "name": "tokio-rt-worker", + "cpu_cores": 0.17540918163672656 + }, + { + "tid": 3017356, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 96960, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 69.70718562874252, + "cpu_cores_per_gbps": 29.044660678642714, + "host_window_start_ms": 1793917178726, + "host_window_end_ms": 1793917183726, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.7957606539908232, + "cpu_system_cores": 0.08767227298391264, + "cpu_cores": 0.8834329269747359, + "ctx_voluntary_s": 5088.260357372905, + "ctx_involuntary_s": 619.5491757520815, + "rss_bytes": 911335424, + "threads": 17, + "thread_cpu": [ + { + "tid": 3017565, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 3017567, + "name": "tokio-rt-worker", + "cpu_cores": 0.115568480568743 + }, + { + "tid": 3017568, + "name": "tokio-rt-worker", + "cpu_cores": 0.10566409809862347 + }, + { + "tid": 3017569, + "name": "tokio-rt-worker", + "cpu_cores": 0.10986350804367362 + }, + { + "tid": 3017570, + "name": "tokio-rt-worker", + "cpu_cores": 0.09976789051379312 + }, + { + "tid": 3017571, + "name": "tokio-rt-worker", + "cpu_cores": 0.11972008174885292 + }, + { + "tid": 3017572, + "name": "tokio-rt-worker", + "cpu_cores": 0.11356848056874298 + }, + { + "tid": 3017573, + "name": "tokio-rt-worker", + "cpu_cores": 0.10581569927873336 + }, + { + "tid": 3017574, + "name": "tokio-rt-worker", + "cpu_cores": 0.11161628933368324 + }, + { + "tid": 3017577, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3017578, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3017603, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3017604, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3018739, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3018746, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3018747, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3018748, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 481280, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-6/quic/fanout/summary.json": { + "workload": "fanout", + "transport": "quic", + "throughput_window_start_ms": 1793917200295, + "throughput_window_end_ms": 1793917205294, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.03200640128025605, + "recv_mbps": 2.0484096819363873, + "send_fps": 10.002000400080016, + "recv_fps": 640.128025605121, + "loss_pct": 0.836489898989899, + "latency_p50_ms": 2, + "latency_p99_ms": 1411, + "cpu_user_cores": 0.042080272341893536, + "cpu_system_cores": 0.004000800160032006, + "cpu_cores": 0.046081072501925543, + "ctx_voluntary_s": 577.510711723183, + "ctx_involuntary_s": 96.24080504723699, + "rss_bytes": 38146048, + "threads": 10, + "thread_cpu": [ + { + "tid": 3040208, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 3040213, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 3040214, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 3040215, + "name": "tokio-rt-worker", + "cpu_cores": 0.00603713557082674 + }, + { + "tid": 3040216, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 3040217, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 3040218, + "name": "tokio-rt-worker", + "cpu_cores": 0.006037135570826741 + }, + { + "tid": 3040219, + "name": "tokio-rt-worker", + "cpu_cores": 0.006037135570826741 + }, + { + "tid": 3040220, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 3040223, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 71.9872754491018, + "cpu_cores_per_gbps": 22.496023577844316, + "host_window_start_ms": 1793917200295, + "host_window_end_ms": 1793917205294, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.03807947218186152, + "cpu_system_cores": 0.00600120024004801, + "cpu_cores": 0.04408067242190953, + "ctx_voluntary_s": 708.4638484583144, + "ctx_involuntary_s": 52.61411563749876, + "rss_bytes": 52076544, + "threads": 11, + "thread_cpu": [ + { + "tid": 3040394, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 3040397, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 3040398, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 3040399, + "name": "tokio-rt-worker", + "cpu_cores": 0.008001600320064013 + }, + { + "tid": 3040400, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 3040401, + "name": "tokio-rt-worker", + "cpu_cores": 0.0060371355708267425 + }, + { + "tid": 3040402, + "name": "tokio-rt-worker", + "cpu_cores": 0.002036335410794734 + }, + { + "tid": 3040403, + "name": "tokio-rt-worker", + "cpu_cores": 0.006037135570826741 + }, + { + "tid": 3040404, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 3040406, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3040407, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-7/quic/video/summary.json": { + "workload": "video", + "transport": "quic", + "throughput_window_start_ms": 1793917210552, + "throughput_window_end_ms": 1793917215552, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 4.608, + "recv_mbps": 9.216, + "send_fps": 480, + "recv_fps": 960, + "loss_pct": 0, + "latency_p50_ms": 1, + "latency_p99_ms": 3969, + "cpu_user_cores": 0.06414371257485031, + "cpu_system_cores": 0.018000000000000002, + "cpu_cores": 0.08214371257485031, + "ctx_voluntary_s": 2047.602395209581, + "ctx_involuntary_s": 422.66826347305386, + "rss_bytes": 33624064, + "threads": 10, + "thread_cpu": [ + { + "tid": 3067528, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 3067535, + "name": "tokio-rt-worker", + "cpu_cores": 0.010035928143712576 + }, + { + "tid": 3067539, + "name": "tokio-rt-worker", + "cpu_cores": 0.010035928143712574 + }, + { + "tid": 3067540, + "name": "tokio-rt-worker", + "cpu_cores": 0.012035928143712576 + }, + { + "tid": 3067541, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 3067542, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 3067543, + "name": "tokio-rt-worker", + "cpu_cores": 0.013999999999999999 + }, + { + "tid": 3067544, + "name": "tokio-rt-worker", + "cpu_cores": 0.010035928143712574 + }, + { + "tid": 3067545, + "name": "tokio-rt-worker", + "cpu_cores": 0.008035928143712576 + }, + { + "tid": 3067550, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 85.56636726546908, + "cpu_cores_per_gbps": 8.913163256819695, + "host_window_start_ms": 1793917210552, + "host_window_end_ms": 1793917215552, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.05411976047904191, + "cpu_system_cores": 0.016039920159680636, + "cpu_cores": 0.07015968063872255, + "ctx_voluntary_s": 1757.88622754491, + "ctx_involuntary_s": 256.23992015968065, + "rss_bytes": 41623552, + "threads": 11, + "thread_cpu": [ + { + "tid": 3067879, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 3067885, + "name": "tokio-rt-worker", + "cpu_cores": 0.01003992015968064 + }, + { + "tid": 3067886, + "name": "tokio-rt-worker", + "cpu_cores": 0.010039920159680638 + }, + { + "tid": 3067887, + "name": "tokio-rt-worker", + "cpu_cores": 0.01203992015968064 + }, + { + "tid": 3067888, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 3067889, + "name": "tokio-rt-worker", + "cpu_cores": 0.006039920159680639 + }, + { + "tid": 3067890, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 3067891, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3067892, + "name": "tokio-rt-worker", + "cpu_cores": 0.014000000000000002 + }, + { + "tid": 3067893, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3067894, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-7/quic/chat/summary.json": { + "workload": "chat", + "transport": "quic", + "throughput_window_start_ms": 1793917230541, + "throughput_window_end_ms": 1793917235541, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.024, + "recv_mbps": 48, + "send_fps": 10, + "recv_fps": 20000, + "loss_pct": 0.17446808510638298, + "latency_p50_ms": 20, + "latency_p99_ms": 1455, + "cpu_user_cores": 1.2067145708582836, + "cpu_system_cores": 0.0875169660678643, + "cpu_cores": 1.294231536926148, + "ctx_voluntary_s": 12517.905788423153, + "ctx_involuntary_s": 2235.4175648702594, + "rss_bytes": 448999424, + "threads": 10, + "thread_cpu": [ + { + "tid": 3110463, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 3110479, + "name": "tokio-rt-worker", + "cpu_cores": 0.16118163672654687 + }, + { + "tid": 3110480, + "name": "tokio-rt-worker", + "cpu_cores": 0.1652455089820359 + }, + { + "tid": 3110481, + "name": "tokio-rt-worker", + "cpu_cores": 0.16520159680638727 + }, + { + "tid": 3110482, + "name": "tokio-rt-worker", + "cpu_cores": 0.15526546906187627 + }, + { + "tid": 3110483, + "name": "tokio-rt-worker", + "cpu_cores": 0.15918163672654687 + }, + { + "tid": 3110484, + "name": "tokio-rt-worker", + "cpu_cores": 0.1651816367265469 + }, + { + "tid": 3110485, + "name": "tokio-rt-worker", + "cpu_cores": 0.16120159680638724 + }, + { + "tid": 3110486, + "name": "tokio-rt-worker", + "cpu_cores": 0.16134930139720557 + }, + { + "tid": 3110494, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 373440, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 64.7115768463074, + "cpu_cores_per_gbps": 26.963157019294744, + "host_window_start_ms": 1793917230541, + "host_window_end_ms": 1793917235541, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.8282046106989206, + "cpu_system_cores": 0.07766587939658531, + "cpu_cores": 0.9058704900955059, + "ctx_voluntary_s": 3820.237944827476, + "ctx_involuntary_s": 949.1627804152649, + "rss_bytes": 912760832, + "threads": 24, + "thread_cpu": [ + { + "tid": 3111091, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 3111098, + "name": "tokio-rt-worker", + "cpu_cores": 0.11336309055196381 + }, + { + "tid": 3111099, + "name": "tokio-rt-worker", + "cpu_cores": 0.1077337436680424 + }, + { + "tid": 3111100, + "name": "tokio-rt-worker", + "cpu_cores": 0.11734742467256723 + }, + { + "tid": 3111101, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3111102, + "name": "tokio-rt-worker", + "cpu_cores": 0.10549881909487795 + }, + { + "tid": 3111103, + "name": "tokio-rt-worker", + "cpu_cores": 0.11971807778864582 + }, + { + "tid": 3111104, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3111105, + "name": "tokio-rt-worker", + "cpu_cores": 0.11721169612965307 + }, + { + "tid": 3111108, + "name": "tokio-rt-worker", + "cpu_cores": 0.12334742467256721 + }, + { + "tid": 3111110, + "name": "tokio-rt-worker", + "cpu_cores": 0.10180160793949948 + }, + { + "tid": 3111120, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3111121, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3111122, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3111124, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3111125, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3111126, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3112206, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3112207, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3112208, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3112909, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3112910, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3112914, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3112915, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 733120, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/base/round-7/quic/fanout/summary.json": { + "workload": "fanout", + "transport": "quic", + "throughput_window_start_ms": 1793917253037, + "throughput_window_end_ms": 1793917258037, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.032, + "recv_mbps": 2.048, + "send_fps": 10, + "recv_fps": 640, + "loss_pct": 0.2840909090909091, + "latency_p50_ms": 2, + "latency_p99_ms": 1409, + "cpu_user_cores": 0.03807185628742515, + "cpu_system_cores": 0.006, + "cpu_cores": 0.044071856287425146, + "ctx_voluntary_s": 402.68263473053884, + "ctx_involuntary_s": 40.897005988023956, + "rss_bytes": 38473728, + "threads": 10, + "thread_cpu": [ + { + "tid": 3140737, + "name": "moq-relay-base", + "cpu_cores": 0.0 + }, + { + "tid": 3140742, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 3140743, + "name": "tokio-rt-worker", + "cpu_cores": 0.002035928143712575 + }, + { + "tid": 3140744, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 3140745, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 3140746, + "name": "tokio-rt-worker", + "cpu_cores": 0.004 + }, + { + "tid": 3140747, + "name": "tokio-rt-worker", + "cpu_cores": 0.004 + }, + { + "tid": 3140748, + "name": "tokio-rt-worker", + "cpu_cores": 0.004035928143712576 + }, + { + "tid": 3140749, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 3140752, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 2, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 68.86227544910179, + "cpu_cores_per_gbps": 21.519461077844312, + "host_window_start_ms": 1793917253037, + "host_window_end_ms": 1793917258037, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.036079840319361275, + "cpu_system_cores": 0.008000000000000002, + "cpu_cores": 0.044079840319361276, + "ctx_voluntary_s": 637.7173652694612, + "ctx_involuntary_s": 13.023952095808383, + "rss_bytes": 53141504, + "threads": 11, + "thread_cpu": [ + { + "tid": 3140921, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 3140923, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 3140924, + "name": "tokio-rt-worker", + "cpu_cores": 0.006039920159680639 + }, + { + "tid": 3140925, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3140926, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 3140927, + "name": "tokio-rt-worker", + "cpu_cores": 0.006000000000000001 + }, + { + "tid": 3140928, + "name": "tokio-rt-worker", + "cpu_cores": 0.002 + }, + { + "tid": 3140929, + "name": "tokio-rt-worker", + "cpu_cores": 0.0020000000000000005 + }, + { + "tid": 3140930, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 3140933, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000000000000001 + }, + { + "tid": 3140934, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-1/quic/video/summary.json": { + "workload": "video", + "transport": "quic", + "throughput_window_start_ms": 1793916844227, + "throughput_window_end_ms": 1793916849227, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 4.608, + "recv_mbps": 9.5616, + "send_fps": 480, + "recv_fps": 996, + "loss_pct": 0, + "latency_p50_ms": 1, + "latency_p99_ms": 3969, + "cpu_user_cores": 0.03592015968063872, + "cpu_system_cores": 0.02198802395209581, + "cpu_cores": 0.05790818363273453, + "ctx_voluntary_s": 1384.7912175648703, + "ctx_involuntary_s": 12.625149700598802, + "rss_bytes": 30318592, + "threads": 10, + "thread_cpu": [ + { + "tid": 2608356, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 2608363, + "name": "tokio-rt-worker", + "cpu_cores": 0.0020558882235528937 + }, + { + "tid": 2608364, + "name": "tokio-rt-worker", + "cpu_cores": 0.014000000000000002 + }, + { + "tid": 2608365, + "name": "tokio-rt-worker", + "cpu_cores": 0.004 + }, + { + "tid": 2608366, + "name": "tokio-rt-worker", + "cpu_cores": 0.008027944111776448 + }, + { + "tid": 2608367, + "name": "tokio-rt-worker", + "cpu_cores": 0.007932135728542915 + }, + { + "tid": 2608368, + "name": "tokio-rt-worker", + "cpu_cores": 0.012 + }, + { + "tid": 2608369, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2608370, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 2608381, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 58.14074661921138, + "cpu_cores_per_gbps": 6.056327772834519, + "host_window_start_ms": 1793916844227, + "host_window_end_ms": 1793916849227, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.037952095808383234, + "cpu_system_cores": 0.017992015968063872, + "cpu_cores": 0.055944111776447106, + "ctx_voluntary_s": 1200.5269461077846, + "ctx_involuntary_s": 6.615968063872256, + "rss_bytes": 40427520, + "threads": 11, + "thread_cpu": [ + { + "tid": 2608543, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2608547, + "name": "tokio-rt-worker", + "cpu_cores": 0.009992015968063872 + }, + { + "tid": 2608548, + "name": "tokio-rt-worker", + "cpu_cores": 0.00792814371257485 + }, + { + "tid": 2608549, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2608550, + "name": "tokio-rt-worker", + "cpu_cores": 0.010031936127744511 + }, + { + "tid": 2608551, + "name": "tokio-rt-worker", + "cpu_cores": 0.002 + }, + { + "tid": 2608552, + "name": "tokio-rt-worker", + "cpu_cores": 0.008031936127744511 + }, + { + "tid": 2608553, + "name": "tokio-rt-worker", + "cpu_cores": 0.00992814371257485 + }, + { + "tid": 2608554, + "name": "tokio-rt-worker", + "cpu_cores": 0.004031936127744511 + }, + { + "tid": 2608557, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2608558, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-1/quic/chat/summary.json": { + "workload": "chat", + "transport": "quic", + "throughput_window_start_ms": 1793916865349, + "throughput_window_end_ms": 1793916870347, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.023529411764705882, + "recv_mbps": 48.01920768307323, + "send_fps": 9.80392156862745, + "recv_fps": 20008.00320128051, + "loss_pct": 0.012818937844175128, + "latency_p50_ms": 21, + "latency_p99_ms": 1491, + "cpu_user_cores": 0.9433633732934289, + "cpu_system_cores": 0.08339463529922951, + "cpu_cores": 1.0267580085926584, + "ctx_voluntary_s": 6807.991859418416, + "ctx_involuntary_s": 1658.2065960116583, + "rss_bytes": 527536128, + "threads": 10, + "thread_cpu": [ + { + "tid": 2637065, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 2637070, + "name": "tokio-rt-worker", + "cpu_cores": 0.12722054889820195 + }, + { + "tid": 2637071, + "name": "tokio-rt-worker", + "cpu_cores": 0.12328284607256075 + }, + { + "tid": 2637072, + "name": "tokio-rt-worker", + "cpu_cores": 0.12547533983653344 + }, + { + "tid": 2637073, + "name": "tokio-rt-worker", + "cpu_cores": 0.12954083829140434 + }, + { + "tid": 2637074, + "name": "tokio-rt-worker", + "cpu_cores": 0.12931719594025234 + }, + { + "tid": 2637075, + "name": "tokio-rt-worker", + "cpu_cores": 0.13128604735307295 + }, + { + "tid": 2637076, + "name": "tokio-rt-worker", + "cpu_cores": 0.1251558507634591 + }, + { + "tid": 2637077, + "name": "tokio-rt-worker", + "cpu_cores": 0.1351598523640993 + }, + { + "tid": 2637078, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 528960, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 51.31736526946108, + "cpu_cores_per_gbps": 21.382235528942108, + "host_window_start_ms": 1793916865349, + "host_window_end_ms": 1793916870347, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.9316461115384278, + "cpu_system_cores": 0.08350645647480548, + "cpu_cores": 1.0151525680132334, + "ctx_voluntary_s": 3347.209542499634, + "ctx_involuntary_s": 1128.597946164494, + "rss_bytes": 908181504, + "threads": 22, + "thread_cpu": [ + { + "tid": 2637291, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2637293, + "name": "tokio-rt-worker", + "cpu_cores": 0.12756799326517035 + }, + { + "tid": 2637294, + "name": "tokio-rt-worker", + "cpu_cores": 0.13336671994146962 + }, + { + "tid": 2637295, + "name": "tokio-rt-worker", + "cpu_cores": 0.1271806127640677 + }, + { + "tid": 2637296, + "name": "tokio-rt-worker", + "cpu_cores": 0.12124610323171187 + }, + { + "tid": 2637297, + "name": "tokio-rt-worker", + "cpu_cores": 0.1295448319048178 + }, + { + "tid": 2637298, + "name": "tokio-rt-worker", + "cpu_cores": 0.12740824872863316 + }, + { + "tid": 2637299, + "name": "tokio-rt-worker", + "cpu_cores": 0.12131399465974015 + }, + { + "tid": 2637300, + "name": "tokio-rt-worker", + "cpu_cores": 0.13143381104936985 + }, + { + "tid": 2637303, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2637304, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2637318, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2637319, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2637545, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2637546, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2637547, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2637548, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2637868, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2637869, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2639381, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2639382, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2639383, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 1834240, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-1/quic/fanout/summary.json": { + "workload": "fanout", + "transport": "quic", + "throughput_window_start_ms": 1793916886756, + "throughput_window_end_ms": 1793916891756, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.032, + "recv_mbps": 2.048, + "send_fps": 10, + "recv_fps": 640, + "loss_pct": 0.016644474034620507, + "latency_p50_ms": 2, + "latency_p99_ms": 1432, + "cpu_user_cores": 0.03396007984031935, + "cpu_system_cores": 0.005928143712574848, + "cpu_cores": 0.0398882235528942, + "ctx_voluntary_s": 444.5205588822355, + "ctx_involuntary_s": 15.02794411177645, + "rss_bytes": 37203968, + "threads": 10, + "thread_cpu": [ + { + "tid": 2667050, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 2667056, + "name": "tokio-rt-worker", + "cpu_cores": 0.0078562874251497 + }, + { + "tid": 2667057, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000000000000001 + }, + { + "tid": 2667058, + "name": "tokio-rt-worker", + "cpu_cores": 0.00392814371257485 + }, + { + "tid": 2667059, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2667060, + "name": "tokio-rt-worker", + "cpu_cores": 0.006000000000000001 + }, + { + "tid": 2667061, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2667062, + "name": "tokio-rt-worker", + "cpu_cores": 0.003999999999999999 + }, + { + "tid": 2667063, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2667065, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 62.325349301397196, + "cpu_cores_per_gbps": 19.476671656686623, + "host_window_start_ms": 1793916886756, + "host_window_end_ms": 1793916891756, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.037920159680638735, + "cpu_system_cores": 0.006, + "cpu_cores": 0.04392015968063873, + "ctx_voluntary_s": 580.0542914171656, + "ctx_involuntary_s": 3.5640718562874256, + "rss_bytes": 52019200, + "threads": 11, + "thread_cpu": [ + { + "tid": 2667241, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2667244, + "name": "tokio-rt-worker", + "cpu_cores": 0.0019281437125748507 + }, + { + "tid": 2667245, + "name": "tokio-rt-worker", + "cpu_cores": 0.010000000000000002 + }, + { + "tid": 2667246, + "name": "tokio-rt-worker", + "cpu_cores": 0.008063872255489024 + }, + { + "tid": 2667247, + "name": "tokio-rt-worker", + "cpu_cores": 0.0020000000000000005 + }, + { + "tid": 2667248, + "name": "tokio-rt-worker", + "cpu_cores": 0.0019999999999999996 + }, + { + "tid": 2667249, + "name": "tokio-rt-worker", + "cpu_cores": 0.004 + }, + { + "tid": 2667250, + "name": "tokio-rt-worker", + "cpu_cores": 0.00792814371257485 + }, + { + "tid": 2667251, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2667254, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2667255, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-2/quic/video/summary.json": { + "workload": "video", + "transport": "quic", + "throughput_window_start_ms": 1793916897006, + "throughput_window_end_ms": 1793916902006, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 4.60992, + "recv_mbps": 10.0224, + "send_fps": 480.2, + "recv_fps": 1044, + "loss_pct": 0, + "latency_p50_ms": 1, + "latency_p99_ms": 3969, + "cpu_user_cores": 0.03594810379241516, + "cpu_system_cores": 0.019932135728542917, + "cpu_cores": 0.05588023952095808, + "ctx_voluntary_s": 1161.5365269461079, + "ctx_involuntary_s": 11.416766467065866, + "rss_bytes": 29233152, + "threads": 10, + "thread_cpu": [ + { + "tid": 2679479, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 2679484, + "name": "tokio-rt-worker", + "cpu_cores": 0.007932135728542915 + }, + { + "tid": 2679485, + "name": "tokio-rt-worker", + "cpu_cores": 0.010027944111776446 + }, + { + "tid": 2679486, + "name": "tokio-rt-worker", + "cpu_cores": 0.007932135728542913 + }, + { + "tid": 2679487, + "name": "tokio-rt-worker", + "cpu_cores": 0.010027944111776448 + }, + { + "tid": 2679488, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2679489, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 2679490, + "name": "tokio-rt-worker", + "cpu_cores": 0.004 + }, + { + "tid": 2679491, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2679493, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 53.525133640764444, + "cpu_cores_per_gbps": 5.575534754246297, + "host_window_start_ms": 1793916897006, + "host_window_end_ms": 1793916902006, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.041948103792415176, + "cpu_system_cores": 0.015960079840319365, + "cpu_cores": 0.05790818363273454, + "ctx_voluntary_s": 1239.4962075848302, + "ctx_involuntary_s": 12.97884231536926, + "rss_bytes": 39858176, + "threads": 11, + "thread_cpu": [ + { + "tid": 2679672, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2679674, + "name": "tokio-rt-worker", + "cpu_cores": 0.009932135728542915 + }, + { + "tid": 2679675, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 2679677, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2679678, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2679679, + "name": "tokio-rt-worker", + "cpu_cores": 0.012027944111776446 + }, + { + "tid": 2679680, + "name": "tokio-rt-worker", + "cpu_cores": 0.0019321357285429143 + }, + { + "tid": 2679681, + "name": "tokio-rt-worker", + "cpu_cores": 0.009932135728542913 + }, + { + "tid": 2679682, + "name": "tokio-rt-worker", + "cpu_cores": 0.010027944111776448 + }, + { + "tid": 2679685, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2679686, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-2/quic/chat/summary.json": { + "workload": "chat", + "transport": "quic", + "throughput_window_start_ms": 1793916917498, + "throughput_window_end_ms": 1793916922497, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.024004800960192037, + "recv_mbps": 48.00960192038408, + "send_fps": 10.002000400080016, + "recv_fps": 20004.000800160033, + "loss_pct": 0.01118598023810158, + "latency_p50_ms": 16, + "latency_p99_ms": 1473, + "cpu_user_cores": 0.9149408839161197, + "cpu_system_cores": 0.08382400519103356, + "cpu_cores": 0.9987648891071532, + "ctx_voluntary_s": 8452.31009511863, + "ctx_involuntary_s": 1587.6866329325917, + "rss_bytes": 525090816, + "threads": 10, + "thread_cpu": [ + { + "tid": 2704344, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 2704349, + "name": "tokio-rt-worker", + "cpu_cores": 0.12578468360902337 + }, + { + "tid": 2704350, + "name": "tokio-rt-worker", + "cpu_cores": 0.11959163775946345 + }, + { + "tid": 2704351, + "name": "tokio-rt-worker", + "cpu_cores": 0.12564056126185774 + }, + { + "tid": 2704352, + "name": "tokio-rt-worker", + "cpu_cores": 0.12371222235542458 + }, + { + "tid": 2704353, + "name": "tokio-rt-worker", + "cpu_cores": 0.12759323807952747 + }, + { + "tid": 2704354, + "name": "tokio-rt-worker", + "cpu_cores": 0.12952157698596065 + }, + { + "tid": 2704355, + "name": "tokio-rt-worker", + "cpu_cores": 0.12171182227540854 + }, + { + "tid": 2704356, + "name": "tokio-rt-worker", + "cpu_cores": 0.12171182227540857 + }, + { + "tid": 2704359, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 195840, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 49.928256806466585, + "cpu_cores_per_gbps": 20.803440336027744, + "host_window_start_ms": 1793916917498, + "host_window_end_ms": 1793916922497, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.9027263620054693, + "cpu_system_cores": 0.0757123536261037, + "cpu_cores": 0.978438715631573, + "ctx_voluntary_s": 3673.010697757082, + "ctx_involuntary_s": 931.5723702509425, + "rss_bytes": 906141696, + "threads": 18, + "thread_cpu": [ + { + "tid": 2704548, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2704551, + "name": "tokio-rt-worker", + "cpu_cores": 0.13747769474213567 + }, + { + "tid": 2704552, + "name": "tokio-rt-worker", + "cpu_cores": 0.12139878174838155 + }, + { + "tid": 2704553, + "name": "tokio-rt-worker", + "cpu_cores": 0.1115681303591396 + }, + { + "tid": 2704554, + "name": "tokio-rt-worker", + "cpu_cores": 0.1252760512261815 + }, + { + "tid": 2704555, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2704556, + "name": "tokio-rt-worker", + "cpu_cores": 0.1295717310792836 + }, + { + "tid": 2704557, + "name": "tokio-rt-worker", + "cpu_cores": 0.11574027953000962 + }, + { + "tid": 2704558, + "name": "tokio-rt-worker", + "cpu_cores": 0.11952191235059763 + }, + { + "tid": 2704560, + "name": "tokio-rt-worker", + "cpu_cores": 0.11974107969004158 + }, + { + "tid": 2704561, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2704579, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2704580, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2705139, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2705140, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2705231, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2705232, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2706156, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 1386240, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-2/quic/fanout/summary.json": { + "workload": "fanout", + "transport": "quic", + "throughput_window_start_ms": 1793916939146, + "throughput_window_end_ms": 1793916944146, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.032, + "recv_mbps": 2.048, + "send_fps": 10, + "recv_fps": 640, + "loss_pct": 0.4321808510638298, + "latency_p50_ms": 1, + "latency_p99_ms": 1425, + "cpu_user_cores": 0.033920159680638724, + "cpu_system_cores": 0.006000000000000001, + "cpu_cores": 0.03992015968063872, + "ctx_voluntary_s": 459.7712574850299, + "ctx_involuntary_s": 17.930538922155687, + "rss_bytes": 37572608, + "threads": 10, + "thread_cpu": [ + { + "tid": 2728494, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 2728498, + "name": "tokio-rt-worker", + "cpu_cores": 0.005928143712574851 + }, + { + "tid": 2728499, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2728500, + "name": "tokio-rt-worker", + "cpu_cores": 0.004031936127744511 + }, + { + "tid": 2728501, + "name": "tokio-rt-worker", + "cpu_cores": 0.002 + }, + { + "tid": 2728502, + "name": "tokio-rt-worker", + "cpu_cores": 0.004 + }, + { + "tid": 2728503, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2728504, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2728506, + "name": "tokio-rt-worker", + "cpu_cores": 0.003999999999999999 + }, + { + "tid": 2728508, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 62.37524950099801, + "cpu_cores_per_gbps": 19.492265469061877, + "host_window_start_ms": 1793916939146, + "host_window_end_ms": 1793916944146, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.037920159680638735, + "cpu_system_cores": 0.006, + "cpu_cores": 0.04392015968063873, + "ctx_voluntary_s": 563.0630738522954, + "ctx_involuntary_s": 2.4243512974051895, + "rss_bytes": 50425856, + "threads": 11, + "thread_cpu": [ + { + "tid": 2728692, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2728695, + "name": "tokio-rt-worker", + "cpu_cores": 0.007924151696606785 + }, + { + "tid": 2728696, + "name": "tokio-rt-worker", + "cpu_cores": 0.0019241516966067868 + }, + { + "tid": 2728697, + "name": "tokio-rt-worker", + "cpu_cores": 0.002 + }, + { + "tid": 2728698, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2728699, + "name": "tokio-rt-worker", + "cpu_cores": 0.006035928143712575 + }, + { + "tid": 2728700, + "name": "tokio-rt-worker", + "cpu_cores": 0.006035928143712574 + }, + { + "tid": 2728701, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 2728702, + "name": "tokio-rt-worker", + "cpu_cores": 0.005960079840319361 + }, + { + "tid": 2728704, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2728705, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-3/quic/video/summary.json": { + "workload": "video", + "transport": "quic", + "throughput_window_start_ms": 1793916969886, + "throughput_window_end_ms": 1793916974886, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 4.608, + "recv_mbps": 10.1376, + "send_fps": 480, + "recv_fps": 1056, + "loss_pct": 0, + "latency_p50_ms": 0, + "latency_p99_ms": 3968, + "cpu_user_cores": 0.02798802395209581, + "cpu_system_cores": 0.01596007984031936, + "cpu_cores": 0.04394810379241517, + "ctx_voluntary_s": 1043.9313373253492, + "ctx_involuntary_s": 0.5796407185628742, + "rss_bytes": 29679616, + "threads": 10, + "thread_cpu": [ + { + "tid": 2765062, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 2765065, + "name": "tokio-rt-worker", + "cpu_cores": 0.012 + }, + { + "tid": 2765066, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2765067, + "name": "tokio-rt-worker", + "cpu_cores": 0.0019321357285429143 + }, + { + "tid": 2765068, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2765069, + "name": "tokio-rt-worker", + "cpu_cores": 0.012 + }, + { + "tid": 2765070, + "name": "tokio-rt-worker", + "cpu_cores": 0.004027944111776446 + }, + { + "tid": 2765072, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2765073, + "name": "tokio-rt-worker", + "cpu_cores": 0.007932135728542913 + }, + { + "tid": 2765075, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 41.617522530696185, + "cpu_cores_per_gbps": 4.335158596947519, + "host_window_start_ms": 1793916969886, + "host_window_end_ms": 1793916974886, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.03192027145708583, + "cpu_system_cores": 0.015960135728542917, + "cpu_cores": 0.04788040718562875, + "ctx_voluntary_s": 1108.6262722554889, + "ctx_involuntary_s": 0.7864271457085827, + "rss_bytes": 40214528, + "threads": 11, + "thread_cpu": [ + { + "tid": 2765241, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2765245, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2765246, + "name": "tokio-rt-worker", + "cpu_cores": 0.004 + }, + { + "tid": 2765247, + "name": "tokio-rt-worker", + "cpu_cores": 0.012 + }, + { + "tid": 2765248, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2765249, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2765250, + "name": "tokio-rt-worker", + "cpu_cores": 0.006028 + }, + { + "tid": 2765251, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2765252, + "name": "tokio-rt-worker", + "cpu_cores": 0.015932135728542914 + }, + { + "tid": 2765253, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2765254, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-3/quic/chat/summary.json": { + "workload": "chat", + "transport": "quic", + "throughput_window_start_ms": 1793916990931, + "throughput_window_end_ms": 1793916995931, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.024, + "recv_mbps": 48, + "send_fps": 10, + "recv_fps": 20000, + "loss_pct": 0.010109394287660153, + "latency_p50_ms": 14, + "latency_p99_ms": 1458, + "cpu_user_cores": 0.9164590818363276, + "cpu_system_cores": 0.08566467065868262, + "cpu_cores": 1.0021237524950102, + "ctx_voluntary_s": 9247.43113772455, + "ctx_involuntary_s": 1930.7620758483038, + "rss_bytes": 526192640, + "threads": 10, + "thread_cpu": [ + { + "tid": 2788708, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 2788714, + "name": "tokio-rt-worker", + "cpu_cores": 0.1256447105788423 + }, + { + "tid": 2788715, + "name": "tokio-rt-worker", + "cpu_cores": 0.12341317365269455 + }, + { + "tid": 2788716, + "name": "tokio-rt-worker", + "cpu_cores": 0.1234970059880239 + }, + { + "tid": 2788717, + "name": "tokio-rt-worker", + "cpu_cores": 0.12738123752495006 + }, + { + "tid": 2788718, + "name": "tokio-rt-worker", + "cpu_cores": 0.12352894211576841 + }, + { + "tid": 2788719, + "name": "tokio-rt-worker", + "cpu_cores": 0.12746506986027942 + }, + { + "tid": 2788720, + "name": "tokio-rt-worker", + "cpu_cores": 0.12552894211576843 + }, + { + "tid": 2788721, + "name": "tokio-rt-worker", + "cpu_cores": 0.12149700598802396 + }, + { + "tid": 2788723, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 475200, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 50.106187624750504, + "cpu_cores_per_gbps": 20.87757817697938, + "host_window_start_ms": 1793916990931, + "host_window_end_ms": 1793916995931, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.8726467065868263, + "cpu_system_cores": 0.08556487025948108, + "cpu_cores": 0.9582115768463074, + "ctx_voluntary_s": 3334.869860279444, + "ctx_involuntary_s": 787.9792415169659, + "rss_bytes": 907972608, + "threads": 20, + "thread_cpu": [ + { + "tid": 2789001, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2789005, + "name": "tokio-rt-worker", + "cpu_cores": 0.12360079840319364 + }, + { + "tid": 2789006, + "name": "tokio-rt-worker", + "cpu_cores": 0.12163672654690623 + }, + { + "tid": 2789007, + "name": "tokio-rt-worker", + "cpu_cores": 0.12560079840319363 + }, + { + "tid": 2789008, + "name": "tokio-rt-worker", + "cpu_cores": 0.11748502994011978 + }, + { + "tid": 2789009, + "name": "tokio-rt-worker", + "cpu_cores": 0.11767265469061879 + }, + { + "tid": 2789010, + "name": "tokio-rt-worker", + "cpu_cores": 0.1212175648702595 + }, + { + "tid": 2789011, + "name": "tokio-rt-worker", + "cpu_cores": 0.11163672654690619 + }, + { + "tid": 2789012, + "name": "tokio-rt-worker", + "cpu_cores": 0.11959281437125753 + }, + { + "tid": 2789017, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2789018, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2789029, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2789030, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2790289, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2790290, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2791024, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2791025, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2791027, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2791333, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2791334, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 735360, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-3/quic/fanout/summary.json": { + "workload": "fanout", + "transport": "quic", + "throughput_window_start_ms": 1793917012529, + "throughput_window_end_ms": 1793917017029, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.032, + "recv_mbps": 2.048, + "send_fps": 10, + "recv_fps": 640, + "loss_pct": 0.582168995342648, + "latency_p50_ms": 1, + "latency_p99_ms": 1426, + "cpu_user_cores": 0.02884896872920824, + "cpu_system_cores": 0.004444444444444445, + "cpu_cores": 0.03329341317365268, + "ctx_voluntary_s": 451.8438678199157, + "ctx_involuntary_s": 14.450210689731652, + "rss_bytes": 37367808, + "threads": 10, + "thread_cpu": [ + { + "tid": 2817176, + "name": "moq-relay", + "cpu_cores": 0.0022222222222222222 + }, + { + "tid": 2817180, + "name": "tokio-rt-worker", + "cpu_cores": 0.004479929030827235 + }, + { + "tid": 2817182, + "name": "tokio-rt-worker", + "cpu_cores": 0.0022222222222222222 + }, + { + "tid": 2817183, + "name": "tokio-rt-worker", + "cpu_cores": 0.004369039698381015 + }, + { + "tid": 2817184, + "name": "tokio-rt-worker", + "cpu_cores": 0.006626746506986029 + }, + { + "tid": 2817185, + "name": "tokio-rt-worker", + "cpu_cores": 0.0044444444444444444 + }, + { + "tid": 2817186, + "name": "tokio-rt-worker", + "cpu_cores": 0.004369039698381015 + }, + { + "tid": 2817187, + "name": "tokio-rt-worker", + "cpu_cores": 0.0044444444444444444 + }, + { + "tid": 2817188, + "name": "tokio-rt-worker", + "cpu_cores": 0.0022222222222222222 + }, + { + "tid": 2817189, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 52.02095808383232, + "cpu_cores_per_gbps": 16.2565494011976, + "host_window_start_ms": 1793917012529, + "host_window_end_ms": 1793917017029, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.035551119982257705, + "cpu_system_cores": 0.006591261920603238, + "cpu_cores": 0.042142381902860945, + "ctx_voluntary_s": 551.393657130184, + "ctx_involuntary_s": 1.3257928587269905, + "rss_bytes": 50737152, + "threads": 11, + "thread_cpu": [ + { + "tid": 2817357, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2817361, + "name": "tokio-rt-worker", + "cpu_cores": 0.008813484142825461 + }, + { + "tid": 2817362, + "name": "tokio-rt-worker", + "cpu_cores": 0.006666666666666666 + }, + { + "tid": 2817363, + "name": "tokio-rt-worker", + "cpu_cores": 0.002222222222222222 + }, + { + "tid": 2817364, + "name": "tokio-rt-worker", + "cpu_cores": 0.006626746506986029 + }, + { + "tid": 2817365, + "name": "tokio-rt-worker", + "cpu_cores": 0.006666666666666666 + }, + { + "tid": 2817366, + "name": "tokio-rt-worker", + "cpu_cores": 0.004479929030827235 + }, + { + "tid": 2817367, + "name": "tokio-rt-worker", + "cpu_cores": 0.004444444444444444 + }, + { + "tid": 2817368, + "name": "tokio-rt-worker", + "cpu_cores": 0.006702151253049456 + }, + { + "tid": 2817369, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2817370, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-4/quic/video/summary.json": { + "workload": "video", + "transport": "quic", + "throughput_window_start_ms": 1793917022258, + "throughput_window_end_ms": 1793917027258, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 4.608, + "recv_mbps": 10.0224, + "send_fps": 480, + "recv_fps": 1044, + "loss_pct": 0, + "latency_p50_ms": 1, + "latency_p99_ms": 3969, + "cpu_user_cores": 0.02999587225548902, + "cpu_system_cores": 0.017963936127744513, + "cpu_cores": 0.047959808383233535, + "ctx_voluntary_s": 1029.9217700598801, + "ctx_involuntary_s": 0.2, + "rss_bytes": 29286400, + "threads": 10, + "thread_cpu": [ + { + "tid": 2828576, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 2828581, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2828582, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2828583, + "name": "tokio-rt-worker", + "cpu_cores": 0.013932 + }, + { + "tid": 2828584, + "name": "tokio-rt-worker", + "cpu_cores": 0.00803193612774451 + }, + { + "tid": 2828585, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2828586, + "name": "tokio-rt-worker", + "cpu_cores": 0.012 + }, + { + "tid": 2828587, + "name": "tokio-rt-worker", + "cpu_cores": 0.009864000000000001 + }, + { + "tid": 2828588, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 2828591, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 2880, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 45.93851377704361, + "cpu_cores_per_gbps": 4.7852618517753776, + "host_window_start_ms": 1793917022258, + "host_window_end_ms": 1793917027258, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.03392015968063873, + "cpu_system_cores": 0.01392814371257485, + "cpu_cores": 0.04784830339321358, + "ctx_voluntary_s": 1076.2874251497005, + "ctx_involuntary_s": 0.0, + "rss_bytes": 40202240, + "threads": 11, + "thread_cpu": [ + { + "tid": 2828761, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2828765, + "name": "tokio-rt-worker", + "cpu_cores": 0.00392814371257485 + }, + { + "tid": 2828766, + "name": "tokio-rt-worker", + "cpu_cores": 0.0019999999999999996 + }, + { + "tid": 2828767, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2828768, + "name": "tokio-rt-worker", + "cpu_cores": 0.00992814371257485 + }, + { + "tid": 2828769, + "name": "tokio-rt-worker", + "cpu_cores": 0.002 + }, + { + "tid": 2828770, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 2828771, + "name": "tokio-rt-worker", + "cpu_cores": 0.012063872255489022 + }, + { + "tid": 2828772, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2828774, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2828775, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-4/quic/chat/summary.json": { + "workload": "chat", + "transport": "quic", + "throughput_window_start_ms": 1793917043232, + "throughput_window_end_ms": 1793917047732, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.024, + "recv_mbps": 48, + "send_fps": 10, + "recv_fps": 20000, + "loss_pct": 0.010109394287660153, + "latency_p50_ms": 13, + "latency_p99_ms": 1456, + "cpu_user_cores": 0.8866223109336882, + "cpu_system_cores": 0.09084497671324021, + "cpu_cores": 0.9774672876469284, + "ctx_voluntary_s": 9620.356620093145, + "ctx_involuntary_s": 1680.4346861831893, + "rss_bytes": 526675968, + "threads": 10, + "thread_cpu": [ + { + "tid": 2850866, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 2850871, + "name": "tokio-rt-worker", + "cpu_cores": 0.12399645154136173 + }, + { + "tid": 2850872, + "name": "tokio-rt-worker", + "cpu_cores": 0.12399645154136169 + }, + { + "tid": 2850873, + "name": "tokio-rt-worker", + "cpu_cores": 0.12420048791306276 + }, + { + "tid": 2850874, + "name": "tokio-rt-worker", + "cpu_cores": 0.12195608782435136 + }, + { + "tid": 2850875, + "name": "tokio-rt-worker", + "cpu_cores": 0.12621867376358392 + }, + { + "tid": 2850876, + "name": "tokio-rt-worker", + "cpu_cores": 0.12420048791306276 + }, + { + "tid": 2850877, + "name": "tokio-rt-worker", + "cpu_cores": 0.11531159902417393 + }, + { + "tid": 2850878, + "name": "tokio-rt-worker", + "cpu_cores": 0.11544023064981149 + }, + { + "tid": 2850881, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 88320, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 48.873364382346416, + "cpu_cores_per_gbps": 20.363901825977674, + "host_window_start_ms": 1793917043232, + "host_window_end_ms": 1793917047732, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.855679751607895, + "cpu_system_cores": 0.08202705699711688, + "cpu_cores": 0.9377068086050119, + "ctx_voluntary_s": 3562.6826347305387, + "ctx_involuntary_s": 624.7735639831449, + "rss_bytes": 905859072, + "threads": 17, + "thread_cpu": [ + { + "tid": 2851053, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2851057, + "name": "tokio-rt-worker", + "cpu_cores": 0.13060989132845421 + }, + { + "tid": 2851058, + "name": "tokio-rt-worker", + "cpu_cores": 0.11756487025948105 + }, + { + "tid": 2851059, + "name": "tokio-rt-worker", + "cpu_cores": 0.10658239077400757 + }, + { + "tid": 2851060, + "name": "tokio-rt-worker", + "cpu_cores": 0.11769350188511869 + }, + { + "tid": 2851061, + "name": "tokio-rt-worker", + "cpu_cores": 0.11288090485695274 + }, + { + "tid": 2851062, + "name": "tokio-rt-worker", + "cpu_cores": 0.12600576624528725 + }, + { + "tid": 2851063, + "name": "tokio-rt-worker", + "cpu_cores": 0.11089820359281435 + }, + { + "tid": 2851064, + "name": "tokio-rt-worker", + "cpu_cores": 0.11547127966289647 + }, + { + "tid": 2851066, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2851067, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2851081, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2851082, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2851768, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2851769, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2851770, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2852590, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 640320, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-4/quic/fanout/summary.json": { + "workload": "fanout", + "transport": "quic", + "throughput_window_start_ms": 1793917064759, + "throughput_window_end_ms": 1793917069260, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.03270384359031326, + "recv_mbps": 2.047544990002222, + "send_fps": 10.219951121972894, + "recv_fps": 639.8578093756943, + "loss_pct": 1.146941489361702, + "latency_p50_ms": 1, + "latency_p99_ms": 1425, + "cpu_user_cores": 0.02885142844726012, + "cpu_system_cores": 0.0044124148947162324, + "cpu_cores": 0.03326384334197635, + "ctx_voluntary_s": 478.5053310397646, + "ctx_involuntary_s": 13.975160099707272, + "rss_bytes": 36990976, + "threads": 10, + "thread_cpu": [ + { + "tid": 2873506, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 2873511, + "name": "tokio-rt-worker", + "cpu_cores": 0.0044434570095534314 + }, + { + "tid": 2873512, + "name": "tokio-rt-worker", + "cpu_cores": 0.004443457009553432 + }, + { + "tid": 2873513, + "name": "tokio-rt-worker", + "cpu_cores": 0.0043725036042112616 + }, + { + "tid": 2873514, + "name": "tokio-rt-worker", + "cpu_cores": 0.0022217285047767157 + }, + { + "tid": 2873515, + "name": "tokio-rt-worker", + "cpu_cores": 0.0066651855143301485 + }, + { + "tid": 2873516, + "name": "tokio-rt-worker", + "cpu_cores": 0.0043725036042112616 + }, + { + "tid": 2873517, + "name": "tokio-rt-worker", + "cpu_cores": 0.0044434570095534314 + }, + { + "tid": 2873518, + "name": "tokio-rt-worker", + "cpu_cores": 0.0044434570095534314 + }, + { + "tid": 2873521, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 51.98630516744291, + "cpu_cores_per_gbps": 16.245720364825907, + "host_window_start_ms": 1793917064759, + "host_window_end_ms": 1793917069260, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.03325497416630857, + "cpu_system_cores": 0.0066651855143301485, + "cpu_cores": 0.03992015968063872, + "ctx_voluntary_s": 612.8325441984283, + "ctx_involuntary_s": 4.650552261395893, + "rss_bytes": 51425280, + "threads": 11, + "thread_cpu": [ + { + "tid": 2873685, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2873689, + "name": "tokio-rt-worker", + "cpu_cores": 0.004483368300058405 + }, + { + "tid": 2873690, + "name": "tokio-rt-worker", + "cpu_cores": 0.004483368300058404 + }, + { + "tid": 2873691, + "name": "tokio-rt-worker", + "cpu_cores": 0.0066651855143301485 + }, + { + "tid": 2873692, + "name": "tokio-rt-worker", + "cpu_cores": 0.004483368300058404 + }, + { + "tid": 2873693, + "name": "tokio-rt-worker", + "cpu_cores": 0.004368069016377376 + }, + { + "tid": 2873694, + "name": "tokio-rt-worker", + "cpu_cores": 0.004443457009553432 + }, + { + "tid": 2873695, + "name": "tokio-rt-worker", + "cpu_cores": 0.0044434570095534314 + }, + { + "tid": 2873696, + "name": "tokio-rt-worker", + "cpu_cores": 0.002221728504776716 + }, + { + "tid": 2873698, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2873699, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-5/quic/video/summary.json": { + "workload": "video", + "transport": "quic", + "throughput_window_start_ms": 1793917095045, + "throughput_window_end_ms": 1793917100044, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 4.607001400280057, + "recv_mbps": 9.67873574714943, + "send_fps": 479.8959791958392, + "recv_fps": 1008.2016403280657, + "loss_pct": 0, + "latency_p50_ms": 0, + "latency_p99_ms": 3968, + "cpu_user_cores": 0.03389100973887393, + "cpu_system_cores": 0.017959679760303365, + "cpu_cores": 0.05185068949917729, + "ctx_voluntary_s": 1062.1214063171915, + "ctx_involuntary_s": 6.801360272054412, + "rss_bytes": 29741056, + "threads": 10, + "thread_cpu": [ + { + "tid": 2922000, + "name": "moq-relay", + "cpu_cores": 0.002000400080016003 + }, + { + "tid": 2922005, + "name": "tokio-rt-worker", + "cpu_cores": 0.003928929498474546 + }, + { + "tid": 2922006, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2922007, + "name": "tokio-rt-worker", + "cpu_cores": 0.009958079440239347 + }, + { + "tid": 2922009, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2922010, + "name": "tokio-rt-worker", + "cpu_cores": 2.794970171679037e-5 + }, + { + "tid": 2922011, + "name": "tokio-rt-worker", + "cpu_cores": 0.008001600320064013 + }, + { + "tid": 2922012, + "name": "tokio-rt-worker", + "cpu_cores": 0.014002800560112025 + }, + { + "tid": 2922013, + "name": "tokio-rt-worker", + "cpu_cores": 0.007929729658506551 + }, + { + "tid": 2922014, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 51.42888825523556, + "cpu_cores_per_gbps": 5.357175859920371, + "host_window_start_ms": 1793917095045, + "host_window_end_ms": 1793917100044, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.037891809898905934, + "cpu_system_cores": 0.017959679760303365, + "cpu_cores": 0.0558514896592093, + "ctx_voluntary_s": 1123.9928624447443, + "ctx_involuntary_s": 3.196248032041538, + "rss_bytes": 40534016, + "threads": 11, + "thread_cpu": [ + { + "tid": 2922197, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2922201, + "name": "tokio-rt-worker", + "cpu_cores": 0.010002000400080016 + }, + { + "tid": 2922202, + "name": "tokio-rt-worker", + "cpu_cores": 0.010002000400080016 + }, + { + "tid": 2922203, + "name": "tokio-rt-worker", + "cpu_cores": 0.009930129738522557 + }, + { + "tid": 2922204, + "name": "tokio-rt-worker", + "cpu_cores": 0.002000400080016003 + }, + { + "tid": 2922205, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2922206, + "name": "tokio-rt-worker", + "cpu_cores": 0.007929729658506553 + }, + { + "tid": 2922207, + "name": "tokio-rt-worker", + "cpu_cores": 0.008029550021780804 + }, + { + "tid": 2922208, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2922209, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2922210, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 2229, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-5/quic/chat/summary.json": { + "workload": "chat", + "transport": "quic", + "throughput_window_start_ms": 1793917116563, + "throughput_window_end_ms": 1793917121562, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.024004800960192037, + "recv_mbps": 48.00960192038408, + "send_fps": 10.002000400080016, + "recv_fps": 20004.000800160033, + "loss_pct": 0.017686504186648206, + "latency_p50_ms": 15, + "latency_p99_ms": 1445, + "cpu_user_cores": 0.8885130319477068, + "cpu_system_cores": 0.07822322947623454, + "cpu_cores": 0.9667362614239413, + "ctx_voluntary_s": 8422.249320123505, + "ctx_involuntary_s": 1670.7788663521128, + "rss_bytes": 526938112, + "threads": 10, + "thread_cpu": [ + { + "tid": 2945075, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 2945080, + "name": "tokio-rt-worker", + "cpu_cores": 0.11838695084326245 + }, + { + "tid": 2945081, + "name": "tokio-rt-worker", + "cpu_cores": 0.11833504425435985 + }, + { + "tid": 2945082, + "name": "tokio-rt-worker", + "cpu_cores": 0.12033544433437586 + }, + { + "tid": 2945083, + "name": "tokio-rt-worker", + "cpu_cores": 0.12233584441439191 + }, + { + "tid": 2945084, + "name": "tokio-rt-worker", + "cpu_cores": 0.1183350442543599 + }, + { + "tid": 2945085, + "name": "tokio-rt-worker", + "cpu_cores": 0.12033544433437586 + }, + { + "tid": 2945086, + "name": "tokio-rt-worker", + "cpu_cores": 0.12433624449440792 + }, + { + "tid": 2945087, + "name": "tokio-rt-worker", + "cpu_cores": 0.12038735092327847 + }, + { + "tid": 2945088, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 90240, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 48.327145708582826, + "cpu_cores_per_gbps": 20.13631071190951, + "host_window_start_ms": 1793917116563, + "host_window_end_ms": 1793917121562, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.852350110740711, + "cpu_system_cores": 0.0822240296362666, + "cpu_cores": 0.9345741403769776, + "ctx_voluntary_s": 3259.1053140767876, + "ctx_involuntary_s": 757.6229816821648, + "rss_bytes": 943648768, + "threads": 20, + "thread_cpu": [ + { + "tid": 2945272, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2945276, + "name": "tokio-rt-worker", + "cpu_cores": 0.12038735092327847 + }, + { + "tid": 2945277, + "name": "tokio-rt-worker", + "cpu_cores": 0.11838695084326249 + }, + { + "tid": 2945278, + "name": "tokio-rt-worker", + "cpu_cores": 0.10638455036316644 + }, + { + "tid": 2945279, + "name": "tokio-rt-worker", + "cpu_cores": 0.10628073718536123 + }, + { + "tid": 2945280, + "name": "tokio-rt-worker", + "cpu_cores": 0.12633664457442387 + }, + { + "tid": 2945281, + "name": "tokio-rt-worker", + "cpu_cores": 0.11828313766545727 + }, + { + "tid": 2945282, + "name": "tokio-rt-worker", + "cpu_cores": 0.11828313766545727 + }, + { + "tid": 2945283, + "name": "tokio-rt-worker", + "cpu_cores": 0.11233384401431185 + }, + { + "tid": 2945284, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2945285, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2945290, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2945291, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2946159, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2946164, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2946165, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2946166, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2946167, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2946168, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2946169, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 1254720, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-5/quic/fanout/summary.json": { + "workload": "fanout", + "transport": "quic", + "throughput_window_start_ms": 1793917137116, + "throughput_window_end_ms": 1793917142115, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.03200640128025605, + "recv_mbps": 2.0484096819363873, + "send_fps": 10.002000400080016, + "recv_fps": 640.128025605121, + "loss_pct": 0.598404255319149, + "latency_p50_ms": 1, + "latency_p99_ms": 1426, + "cpu_user_cores": 0.031918559360574715, + "cpu_system_cores": 0.00592932957849055, + "cpu_cores": 0.037847888939065266, + "ctx_voluntary_s": 487.60969758822023, + "ctx_involuntary_s": 19.164711185750125, + "rss_bytes": 36958208, + "threads": 10, + "thread_cpu": [ + { + "tid": 2968217, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 2968222, + "name": "tokio-rt-worker", + "cpu_cores": 0.002056299483449584 + }, + { + "tid": 2968223, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 2968224, + "name": "tokio-rt-worker", + "cpu_cores": 0.00600120024004801 + }, + { + "tid": 2968225, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2968226, + "name": "tokio-rt-worker", + "cpu_cores": 0.005929329578490549 + }, + { + "tid": 2968227, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2968228, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2968229, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2968232, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 59.125499001996026, + "cpu_cores_per_gbps": 18.476718438123754, + "host_window_start_ms": 1793917137116, + "host_window_end_ms": 1793917142115, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.033918959440590715, + "cpu_system_cores": 0.008001600320064013, + "cpu_cores": 0.04192055976065473, + "ctx_voluntary_s": 573.2152418507653, + "ctx_involuntary_s": 1.5959279680287357, + "rss_bytes": 51269632, + "threads": 11, + "thread_cpu": [ + { + "tid": 2968426, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2968430, + "name": "tokio-rt-worker", + "cpu_cores": 0.008001600320064013 + }, + { + "tid": 2968431, + "name": "tokio-rt-worker", + "cpu_cores": 0.008001600320064013 + }, + { + "tid": 2968432, + "name": "tokio-rt-worker", + "cpu_cores": 0.008001600320064013 + }, + { + "tid": 2968433, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032006 + }, + { + "tid": 2968434, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032007 + }, + { + "tid": 2968435, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000800160032007 + }, + { + "tid": 2968436, + "name": "tokio-rt-worker", + "cpu_cores": 0.002000400080016003 + }, + { + "tid": 2968437, + "name": "tokio-rt-worker", + "cpu_cores": 0.002000400080016003 + }, + { + "tid": 2968438, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2968439, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-6/quic/video/summary.json": { + "workload": "video", + "transport": "quic", + "throughput_window_start_ms": 1793917147863, + "throughput_window_end_ms": 1793917152863, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 4.608, + "recv_mbps": 9.3312, + "send_fps": 480, + "recv_fps": 972, + "loss_pct": 0, + "latency_p50_ms": 0, + "latency_p99_ms": 3969, + "cpu_user_cores": 0.03603592814371258, + "cpu_system_cores": 0.018035928143712573, + "cpu_cores": 0.054071856287425155, + "ctx_voluntary_s": 1139.280239520958, + "ctx_involuntary_s": 2.4035928143712573, + "rss_bytes": 30732288, + "threads": 10, + "thread_cpu": [ + { + "tid": 2979814, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 2979819, + "name": "tokio-rt-worker", + "cpu_cores": 0.013999999999999999 + }, + { + "tid": 2979820, + "name": "tokio-rt-worker", + "cpu_cores": 0.006035928143712575 + }, + { + "tid": 2979821, + "name": "tokio-rt-worker", + "cpu_cores": 0.012 + }, + { + "tid": 2979822, + "name": "tokio-rt-worker", + "cpu_cores": 0.006071856287425149 + }, + { + "tid": 2979823, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2979824, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2979825, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2979826, + "name": "tokio-rt-worker", + "cpu_cores": 0.002 + }, + { + "tid": 2979827, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 55.62948177718637, + "cpu_cores_per_gbps": 5.794737685123581, + "host_window_start_ms": 1793917147863, + "host_window_end_ms": 1793917152863, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.036079840319361275, + "cpu_system_cores": 0.018039920159680638, + "cpu_cores": 0.05411976047904191, + "ctx_voluntary_s": 1160.3389221556886, + "ctx_involuntary_s": 2.803992015968064, + "rss_bytes": 41504768, + "threads": 11, + "thread_cpu": [ + { + "tid": 2980022, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 2980024, + "name": "tokio-rt-worker", + "cpu_cores": 7.984031936127817e-5 + }, + { + "tid": 2980025, + "name": "tokio-rt-worker", + "cpu_cores": 0.01 + }, + { + "tid": 2980026, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2980027, + "name": "tokio-rt-worker", + "cpu_cores": 0.00803992015968064 + }, + { + "tid": 2980028, + "name": "tokio-rt-worker", + "cpu_cores": 0.004 + }, + { + "tid": 2980029, + "name": "tokio-rt-worker", + "cpu_cores": 0.012039920159680638 + }, + { + "tid": 2980030, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2980031, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 2980034, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 2980035, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-6/quic/chat/summary.json": { + "workload": "chat", + "transport": "quic", + "throughput_window_start_ms": 1793917167863, + "throughput_window_end_ms": 1793917172863, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.024, + "recv_mbps": 48, + "send_fps": 10, + "recv_fps": 20000, + "loss_pct": 0.01703967582016752, + "latency_p50_ms": 14, + "latency_p99_ms": 1467, + "cpu_user_cores": 0.9071200229024022, + "cpu_system_cores": 0.09574400203576909, + "cpu_cores": 1.0028640249381713, + "ctx_voluntary_s": 10316.740181787818, + "ctx_involuntary_s": 2064.798716511201, + "rss_bytes": 524304384, + "threads": 10, + "thread_cpu": [ + { + "tid": 3005201, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 3005205, + "name": "tokio-rt-worker", + "cpu_cores": 0.12955225803373333 + }, + { + "tid": 3005206, + "name": "tokio-rt-worker", + "cpu_cores": 0.12174349309349433 + }, + { + "tid": 3005207, + "name": "tokio-rt-worker", + "cpu_cores": 0.12961600305365364 + }, + { + "tid": 3005208, + "name": "tokio-rt-worker", + "cpu_cores": 0.12167974807357396 + }, + { + "tid": 3005209, + "name": "tokio-rt-worker", + "cpu_cores": 0.12374374756463169 + }, + { + "tid": 3005210, + "name": "tokio-rt-worker", + "cpu_cores": 0.1294882585426756 + }, + { + "tid": 3005211, + "name": "tokio-rt-worker", + "cpu_cores": 0.12555225803373332 + }, + { + "tid": 3005212, + "name": "tokio-rt-worker", + "cpu_cores": 0.12548825854267565 + }, + { + "tid": 3005215, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 1019520, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 50.14320124690856, + "cpu_cores_per_gbps": 20.893000519545236, + "host_window_start_ms": 1793917167863, + "host_window_end_ms": 1793917172863, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.8634193366255539, + "cpu_system_cores": 0.08375993829074917, + "cpu_cores": 0.947179274916303, + "ctx_voluntary_s": 4058.8129843897855, + "ctx_involuntary_s": 736.5884136110251, + "rss_bytes": 905850880, + "threads": 19, + "thread_cpu": [ + { + "tid": 3005409, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 3005422, + "name": "tokio-rt-worker", + "cpu_cores": 0.12151216292514574 + }, + { + "tid": 3005423, + "name": "tokio-rt-worker", + "cpu_cores": 0.12769992286343645 + }, + { + "tid": 3005424, + "name": "tokio-rt-worker", + "cpu_cores": 0.11376765194710181 + }, + { + "tid": 3005425, + "name": "tokio-rt-worker", + "cpu_cores": 0.11183538103076714 + }, + { + "tid": 3005426, + "name": "tokio-rt-worker", + "cpu_cores": 0.10969992286343647 + }, + { + "tid": 3005427, + "name": "tokio-rt-worker", + "cpu_cores": 0.11803085462541055 + }, + { + "tid": 3005428, + "name": "tokio-rt-worker", + "cpu_cores": 0.11757217835245845 + }, + { + "tid": 3005429, + "name": "tokio-rt-worker", + "cpu_cores": 0.12170763651978914 + }, + { + "tid": 3005430, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3005431, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3005440, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3005441, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3005475, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3005476, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3006986, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3006987, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3006988, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3007113, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 2037120, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-6/quic/fanout/summary.json": { + "workload": "fanout", + "transport": "quic", + "throughput_window_start_ms": 1793917189545, + "throughput_window_end_ms": 1793917194545, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.032, + "recv_mbps": 2.048, + "send_fps": 10, + "recv_fps": 640, + "loss_pct": 0.4820478723404255, + "latency_p50_ms": 1, + "latency_p99_ms": 1426, + "cpu_user_cores": 0.029995872255489026, + "cpu_system_cores": 0.006031936127744511, + "cpu_cores": 0.03602780838323354, + "ctx_voluntary_s": 458.90407345309376, + "ctx_involuntary_s": 19.164348902195606, + "rss_bytes": 37220352, + "threads": 10, + "thread_cpu": [ + { + "tid": 3028899, + "name": "moq-relay", + "cpu_cores": 0.002 + }, + { + "tid": 3028904, + "name": "tokio-rt-worker", + "cpu_cores": 0.003999999999999999 + }, + { + "tid": 3028905, + "name": "tokio-rt-worker", + "cpu_cores": 0.0019999999999999996 + }, + { + "tid": 3028906, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 3028907, + "name": "tokio-rt-worker", + "cpu_cores": 0.003999999999999999 + }, + { + "tid": 3028908, + "name": "tokio-rt-worker", + "cpu_cores": 0.003999999999999999 + }, + { + "tid": 3028909, + "name": "tokio-rt-worker", + "cpu_cores": 0.004031936127744511 + }, + { + "tid": 3028910, + "name": "tokio-rt-worker", + "cpu_cores": 0.003963936127744511 + }, + { + "tid": 3028911, + "name": "tokio-rt-worker", + "cpu_cores": 0.004 + }, + { + "tid": 3028914, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 56.29345059880241, + "cpu_cores_per_gbps": 17.59170331212575, + "host_window_start_ms": 1793917189545, + "host_window_end_ms": 1793917194545, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.03392015968063873, + "cpu_system_cores": 0.006, + "cpu_cores": 0.03992015968063873, + "ctx_voluntary_s": 577.1696606786427, + "ctx_involuntary_s": 1.6, + "rss_bytes": 52289536, + "threads": 11, + "thread_cpu": [ + { + "tid": 3029094, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 3029098, + "name": "tokio-rt-worker", + "cpu_cores": 0.008000000000000002 + }, + { + "tid": 3029099, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 3029100, + "name": "tokio-rt-worker", + "cpu_cores": 0.005856287425149702 + }, + { + "tid": 3029101, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000000000000001 + }, + { + "tid": 3029102, + "name": "tokio-rt-worker", + "cpu_cores": 0.00792814371257485 + }, + { + "tid": 3029103, + "name": "tokio-rt-worker", + "cpu_cores": 0.002031936127744511 + }, + { + "tid": 3029104, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000000000000001 + }, + { + "tid": 3029105, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 3029116, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3029117, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-7/quic/video/summary.json": { + "workload": "video", + "transport": "quic", + "throughput_window_start_ms": 1793917220288, + "throughput_window_end_ms": 1793917225287, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 4.6089217843568715, + "recv_mbps": 9.793958791758353, + "send_fps": 480.0960192038408, + "recv_fps": 1020.2040408081617, + "loss_pct": 0, + "latency_p50_ms": 1, + "latency_p99_ms": 3969, + "cpu_user_cores": 0.0438335951498178, + "cpu_system_cores": 0.017955846022048524, + "cpu_cores": 0.06178944117186633, + "ctx_voluntary_s": 1484.0893761849127, + "ctx_involuntary_s": 217.98576699697924, + "rss_bytes": 30400512, + "threads": 10, + "thread_cpu": [ + { + "tid": 3093150, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 3093157, + "name": "tokio-rt-worker", + "cpu_cores": 0.002000400080016003 + }, + { + "tid": 3093158, + "name": "tokio-rt-worker", + "cpu_cores": 0.007921903105720746 + }, + { + "tid": 3093159, + "name": "tokio-rt-worker", + "cpu_cores": 0.007953845621968507 + }, + { + "tid": 3093160, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3093161, + "name": "tokio-rt-worker", + "cpu_cores": 0.010002000400080016 + }, + { + "tid": 3093162, + "name": "tokio-rt-worker", + "cpu_cores": 0.011843006051409487 + }, + { + "tid": 3093163, + "name": "tokio-rt-worker", + "cpu_cores": 0.01200240048009602 + }, + { + "tid": 3093165, + "name": "tokio-rt-worker", + "cpu_cores": 0.01200240048009602 + }, + { + "tid": 3093170, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 60.56576792512936, + "cpu_cores_per_gbps": 6.3089341588676415, + "host_window_start_ms": 1793917220288, + "host_window_end_ms": 1793917225287, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.04794603504044082, + "cpu_system_cores": 0.019844606371473502, + "cpu_cores": 0.06779064141191432, + "ctx_voluntary_s": 1504.8153064860019, + "ctx_involuntary_s": 152.0187060211066, + "rss_bytes": 39960576, + "threads": 11, + "thread_cpu": [ + { + "tid": 3093514, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 3093523, + "name": "tokio-rt-worker", + "cpu_cores": 0.013923103345768755 + }, + { + "tid": 3093524, + "name": "tokio-rt-worker", + "cpu_cores": 0.005841805811361476 + }, + { + "tid": 3093525, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3093526, + "name": "tokio-rt-worker", + "cpu_cores": 0.01200240048009602 + }, + { + "tid": 3093527, + "name": "tokio-rt-worker", + "cpu_cores": 0.01006588543257554 + }, + { + "tid": 3093528, + "name": "tokio-rt-worker", + "cpu_cores": 0.01200240048009602 + }, + { + "tid": 3093529, + "name": "tokio-rt-worker", + "cpu_cores": 0.0020642851125115234 + }, + { + "tid": 3093530, + "name": "tokio-rt-worker", + "cpu_cores": 0.011922703265752753 + }, + { + "tid": 3093531, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3093532, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-7/quic/chat/summary.json": { + "workload": "chat", + "transport": "quic", + "throughput_window_start_ms": 1793917241836, + "throughput_window_end_ms": 1793917246337, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.023994667851588533, + "recv_mbps": 47.98933570317706, + "send_fps": 9.997778271495223, + "recv_fps": 19995.556542990445, + "loss_pct": 0.026736824093086926, + "latency_p50_ms": 23, + "latency_p99_ms": 1537, + "cpu_user_cores": 0.9049118671585207, + "cpu_system_cores": 0.06637795823803376, + "cpu_cores": 0.9712898253965544, + "ctx_voluntary_s": 5086.1516527008735, + "ctx_involuntary_s": 1058.2644398289583, + "rss_bytes": 523902976, + "threads": 10, + "thread_cpu": [ + { + "tid": 3127164, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 3127169, + "name": "tokio-rt-worker", + "cpu_cores": 0.12838093369283102 + }, + { + "tid": 3127170, + "name": "tokio-rt-worker", + "cpu_cores": 0.12810103088907965 + }, + { + "tid": 3127171, + "name": "tokio-rt-worker", + "cpu_cores": 0.12400595090959453 + }, + { + "tid": 3127172, + "name": "tokio-rt-worker", + "cpu_cores": 0.11734076539526438 + }, + { + "tid": 3127173, + "name": "tokio-rt-worker", + "cpu_cores": 0.11491061126229503 + }, + { + "tid": 3127174, + "name": "tokio-rt-worker", + "cpu_cores": 0.12157579677662518 + }, + { + "tid": 3127175, + "name": "tokio-rt-worker", + "cpu_cores": 0.1237975252814019 + }, + { + "tid": 3127176, + "name": "tokio-rt-worker", + "cpu_cores": 0.11935406827184845 + }, + { + "tid": 3127180, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 253440, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 48.5752833789988, + "cpu_cores_per_gbps": 20.23970140791617, + "host_window_start_ms": 1793917241836, + "host_window_end_ms": 1793917246337, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.9113350346799451, + "cpu_system_cores": 0.07304176514250504, + "cpu_cores": 0.9843767998224502, + "ctx_voluntary_s": 2909.4918283044103, + "ctx_involuntary_s": 1351.437446685462, + "rss_bytes": 909594624, + "threads": 20, + "thread_cpu": [ + { + "tid": 3127428, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 3127445, + "name": "tokio-rt-worker", + "cpu_cores": 0.11956042598525278 + }, + { + "tid": 3127446, + "name": "tokio-rt-worker", + "cpu_cores": 0.11726987860169438 + }, + { + "tid": 3127447, + "name": "tokio-rt-worker", + "cpu_cores": 0.12142525293675807 + }, + { + "tid": 3127448, + "name": "tokio-rt-worker", + "cpu_cores": 0.11913470555319972 + }, + { + "tid": 3127449, + "name": "tokio-rt-worker", + "cpu_cores": 0.12852256246282281 + }, + { + "tid": 3127450, + "name": "tokio-rt-worker", + "cpu_cores": 0.11539864807050751 + }, + { + "tid": 3127451, + "name": "tokio-rt-worker", + "cpu_cores": 0.1301745291983016 + }, + { + "tid": 3127452, + "name": "tokio-rt-worker", + "cpu_cores": 0.13525656685593462 + }, + { + "tid": 3127456, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3127457, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3127473, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3127475, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3128479, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3128480, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3128485, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3128487, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3128488, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3129472, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3129473, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 1321920, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + }, + "relay/current/round-7/quic/fanout/summary.json": { + "workload": "fanout", + "transport": "quic", + "throughput_window_start_ms": 1793917262791, + "throughput_window_end_ms": 1793917267791, + "latency_scope": "cumulative lifetime", + "loss_scope": "cumulative lifetime", + "send_mbps": 0.032, + "recv_mbps": 2.048, + "send_fps": 10, + "recv_fps": 640, + "loss_pct": 0.09988346928583319, + "latency_p50_ms": 1, + "latency_p99_ms": 1426, + "cpu_user_cores": 0.03196401619072612, + "cpu_system_cores": 0.005936127744510978, + "cpu_cores": 0.0379001439352371, + "ctx_voluntary_s": 417.9913225342143, + "ctx_involuntary_s": 13.930100754665954, + "rss_bytes": 37941248, + "threads": 10, + "thread_cpu": [ + { + "tid": 3152847, + "name": "moq-relay", + "cpu_cores": 0.0 + }, + { + "tid": 3152852, + "name": "tokio-rt-worker", + "cpu_cores": 0.004 + }, + { + "tid": 3152853, + "name": "tokio-rt-worker", + "cpu_cores": 0.003999999999999999 + }, + { + "tid": 3152854, + "name": "tokio-rt-worker", + "cpu_cores": 0.003936127744510979 + }, + { + "tid": 3152855, + "name": "tokio-rt-worker", + "cpu_cores": 0.00402788844621514 + }, + { + "tid": 3152856, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 3152857, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 3152858, + "name": "tokio-rt-worker", + "cpu_cores": 0.004027888446215139 + }, + { + "tid": 3152860, + "name": "tokio-rt-worker", + "cpu_cores": 0.004 + }, + { + "tid": 3152862, + "name": "notify-rs inoti", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide", + "cpu_us_per_frame": 59.21897489880797, + "cpu_cores_per_gbps": 18.50592965587749, + "host_window_start_ms": 1793917262791, + "host_window_end_ms": 1793917267791, + "cpu_scope": "cumulative counters linearly interpolated at load window boundaries", + "generator": { + "cpu_user_cores": 0.035920159680638726, + "cpu_system_cores": 0.007999999999999998, + "cpu_cores": 0.043920159680638726, + "ctx_voluntary_s": 600.760878243513, + "ctx_involuntary_s": 7.994810379241517, + "rss_bytes": 50331648, + "threads": 11, + "thread_cpu": [ + { + "tid": 3153099, + "name": "moq-bench", + "cpu_cores": 0.0 + }, + { + "tid": 3153103, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 3153104, + "name": "tokio-rt-worker", + "cpu_cores": 2.794411177644701e-5 + }, + { + "tid": 3153105, + "name": "tokio-rt-worker", + "cpu_cores": 0.003999999999999999 + }, + { + "tid": 3153106, + "name": "tokio-rt-worker", + "cpu_cores": 0.008 + }, + { + "tid": 3153107, + "name": "tokio-rt-worker", + "cpu_cores": 0.009932135728542913 + }, + { + "tid": 3153108, + "name": "tokio-rt-worker", + "cpu_cores": 0.003999999999999999 + }, + { + "tid": 3153109, + "name": "tokio-rt-worker", + "cpu_cores": 0.004000000000000001 + }, + { + "tid": 3153110, + "name": "tokio-rt-worker", + "cpu_cores": 0.006 + }, + { + "tid": 3153112, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + }, + { + "tid": 3153113, + "name": "tokio-rt-worker", + "cpu_cores": 0.0 + } + ], + "thread_scope": "threads present at both interpolated window boundaries", + "udp_drops": 0, + "udp_rcvbuf_errors": 0, + "udp_sndbuf_errors": 0, + "udp_in_errors": 0, + "udp_sockets": 1, + "udp_rcvbuf_min": 8388608, + "udp_rx_queue_peak_bytes": 0, + "udp_scope": "samples bracketing the load window; rcvbuf/sndbuf/in errors are namespace-wide" + } + } + } +} diff --git a/quest/m1/release-perf/README.md b/.github/release-perf.md similarity index 77% rename from quest/m1/release-perf/README.md rename to .github/release-perf.md index abdd1c89d70..e83880aa563 100644 --- a/quest/m1/release-perf/README.md +++ b/.github/release-perf.md @@ -1,30 +1,79 @@ -# [S] Main is no slower than release - -## Goal - -Before the next release cut, every benchmark where `main` is slower than -`release` is either fixed or accepted with a recorded reason. Accidental cost -is fixed. Cost that pays for a feature `main` deliberately added is accepted, -and the reason is written here. - -This epic's own work: once its children have landed, re-pair the relay -`fanout` workload against `release` and confirm main's relay CPU is no higher -in every round. The sparse rows are accepted (2026-10-30). The browser frame path -needs no repeat; the [performance audit](/quest/m3/audit-perf.md) now pairs -every later cut with `release`. - -## Plan +# Release performance comparison + +## Final relay pairing (2026-11-05) + +The remaining fanout check passes: main uses less relay CPU in all seven +alternating pairs, with a median change of -17.6% (MAD 3.6 percentage points, +range -27.5% to -13.1%). The high-CPU mode from October did not recur. +The earlier intentional feature costs below remain accepted; no behavior was +changed to obtain this result, and nothing was backported to release. + +[Machine-readable evidence](release-perf.json) retains metadata, workload +configurations, execution order, all 42 cell summaries, and the comparator's +three reports. The source was [56d7989c78](https://github.com/moq-dev/moq/commit/56d7989c78a107e0cb72487c43006495005c27a3), +paired against release [dc3478a863](https://github.com/moq-dev/moq/commit/dc3478a863d8aab42afaae8d40c3b84794ae4a4b). +Raw logs, process samples and the harness snapshot were captured in the measuring +checkout's disposable `.tmp/bench/run.87XzvK`; they are not durably retained. +The committed JSON is the portable evidence. + +The established harness ran on `desktop`, pinned to its eight performance +CPUs (0-7), under the host benchmark lock and `quest gate`. Both sides used +the release profile, default features and the same current generator and +sampler. The host was shared, not idle: `/proc/loadavg` at entry was +`10.84 10.75 12.09`. Four additional manual snapshots taken alongside the run +had 1-minute values of 11.09, 6.39, 4.89 and 8.47 (range 4.89 to 11.09). +They are not aligned to individual cells and do not establish that each +measurement window was quiet. All snapshots are retained in the evidence. +The CPU sign holds in every pair despite that changing load. + +Reproduce from the recorded main source in a detached checkout. The clean +environment avoids inheriting obsolete variables from a session opened before +the shell fix; the recorded revision already includes that fix: + +```bash +git switch --detach 56d7989c78a107e0cb72487c43006495005c27a3 +nix develop --ignore-environment --keep HOME --keep USER --keep XDG_RUNTIME_DIR \ + --command quest gate bash -c \ + 'BENCH_ARTIFACTS="$PWD/.tmp/bench" BENCH_RUNTIME_ROUNDS=7 just bench-relay dc3478a863d8aab42afaae8d40c3b84794ae4a4b quic' +``` + +The first attempts failed before measurements because `MOQ_QUEST` reached +the load generator. [moq-dev/moq#7979](https://github.com/moq-dev/moq/pull/7979) +fixed the shell; the successful run uses that fix without changing the +binary's environment validation. + +| Round | Release CPU (cores) | Main CPU (cores) | Change | +|---|---|---|---| +| 1 | 0.04789 | 0.03989 | -16.7% | +| 2 | 0.04595 | 0.03992 | -13.1% | +| 3 | 0.04595 | 0.03329 | -27.5% | +| 4 | 0.04197 | 0.03326 | -20.7% | +| 5 | 0.04592 | 0.03785 | -17.6% | +| 6 | 0.04608 | 0.03603 | -21.8% | +| 7 | 0.04407 | 0.03790 | -14.0% | + +Both sides delivered about 640 frames/s: paired throughput deltas ranged +from -0.042% to +0.020%. Lifetime p99 latency differed by -0.28% to +1.21%. +Lifetime loss varied in both directions; the evidence retains every value, +and no loss improvement is claimed. CPU and throughput use the harness's +aligned final five-second windows; latency and loss are lifetime statistics. +Video and chat controls also used less relay CPU in every pair (median +-26.8% and -27.6%). Video delivery varied, so this is not a normalized video +efficiency claim. The browser and sparse rows were already settled and were +not repeated. + +## Accepted decisions and earlier measurements Decided 2026-10-21, when planning from a paired comparison of `release` (`0c56e5b4e`, which included the bench backport -[#6103](https://github.com/moq-dev/moq/pull/6103)) against `main` +[moq-dev/moq#6103](https://github.com/moq-dev/moq/pull/6103)) against `main` (`8b0d9952f`). The run used 811 paired Criterion cases, three alternating confirmation rounds for the largest moves, JS on bun, and the relay load harness. It ran on a shared 8-core host, so a small wall-time change may be noise. -- The epic gates the cut through the [m1 milestone](/quest/m1/README.md), - because `main` must not ship slower than `release` without a decision. +- The epic gated this cut because `main` must not ship slower than `release` + without a decision. It completed on 2026-11-05; see Final relay pairing. - In scope: the five cases that held through confirmation, plus the large screen-only moves. The screen-only moves are re-measured with callgrind instruction counts, and any that hold are fixed. @@ -33,18 +82,18 @@ noise. - The IETF `/fetch` rows of `session_delivery_group_cost` are accepted and dropped from release pairing. They measure different work on each branch: release's bare track handle opened a live SUBSCRIBE, while main sends a real - FETCH per viewer ([#5820](https://github.com/moq-dev/moq/pull/5820) made - handles lazy, and [#4974](https://github.com/moq-dev/moq/pull/4974) added + FETCH per viewer ([moq-dev/moq#5820](https://github.com/moq-dev/moq/pull/5820) made + handles lazy, and [moq-dev/moq#4974](https://github.com/moq-dev/moq/pull/4974) added fetch-only demand). The lite `/fetch` cost was real: a relay sent one upstream FETCH per group, but revived the parked logical track for every - viewer's FETCH. [#6286](https://github.com/moq-dev/moq/pull/6286) serves a + viewer's FETCH. [moq-dev/moq#6286](https://github.com/moq-dev/moq/pull/6286) serves a whole cached group from the parked copy instead, cutting 12 to 19% of the instructions per viewer where viewers share a group. The rest of the gap to a viewer that holds a query is accepted: each viewer's own fetch of a group it lacks revives its logical track, so the open group keeps its route and fails over mid-read, and its copy releases the route's demand once idle. - `stats/session-report` is accepted at O(live sessions), after a cheap fix. - Per-label payload bytes ([#5731](https://github.com/moq-dev/moq/pull/5731)) + Per-label payload bytes ([moq-dev/moq#5731](https://github.com/moq-dev/moq/pull/5731)) match payload billing per label, such as per signing key. After removing redundant row locking and live-session CAS, three alternating measurements give 52.2 us for 10,000 sessions without wires and 388.4 us with one real @@ -53,15 +102,15 @@ noise. This remaining per-session and per-connection sampling is accepted. Deleting per-label bytes was rejected. - `track_gc/idle` is accepted at about 20 ns, flat across track counts, after - [#6291](https://github.com/moq-dev/moq/pull/6291) skipped the clock read + [moq-dev/moq#6291](https://github.com/moq-dev/moq/pull/6291) skipped the clock read with no wall deadline and reused the bench's waiter (36.7 ns before). The remaining ~8 ns over release's 11.6 ns is the lock and driver registration that the wall-clock aging from - [#5548](https://github.com/moq-dev/moq/pull/5548) needs. An earliest-deadline + [moq-dev/moq#5548](https://github.com/moq-dev/moq/pull/5548) needs. An earliest-deadline atomic cannot prove a replacement driver is registered, and a lock-free notification primitive is not worth ~8 ns. - `track_gap_flush` is accepted at O(log gaps + retired entries) per shared - successor, after [#6287](https://github.com/moq-dev/moq/pull/6287) indexed + successor, after [moq-dev/moq#6287](https://github.com/moq-dev/moq/pull/6287) indexed the gap ledger and retired a shared verdict's gaps with one split. Each retired entry must be freed exactly once, so the batch is already amortized optimal; a representation that hides that reclamation would widen scope for @@ -79,19 +128,19 @@ noise. accidental part (a second track upgrade per first frame, a 128-bit division per buffered datagram on join, and draining empty waiter lists on every write). What remains pays for features: the arrival stamp each frame reads - from the clock ([#6249](https://github.com/moq-dev/moq/pull/6249)), largest - notifications ([#5725](https://github.com/moq-dev/moq/pull/5725)), the + from the clock ([moq-dev/moq#6249](https://github.com/moq-dev/moq/pull/6249)), largest + notifications ([moq-dev/moq#5725](https://github.com/moq-dev/moq/pull/5725)), the rewind check and starts index each first frame fills - ([#5803](https://github.com/moq-dev/moq/pull/5803), - [#6074](https://github.com/moq-dev/moq/pull/6074)), indexed expiry wakes, + ([moq-dev/moq#5803](https://github.com/moq-dev/moq/pull/5803), + [moq-dev/moq#6074](https://github.com/moq-dev/moq/pull/6074)), indexed expiry wakes, the bounded wall-clock expiry scan per append, and a subscriber's ranges and - datagram max delay ([#5195](https://github.com/moq-dev/moq/pull/5195)). + datagram max delay ([moq-dev/moq#5195](https://github.com/moq-dev/moq/pull/5195)). None of it grows with the sweeps. `track_stamp_groups/sparse` stays highest at 4.4x, because release's first frame skipped nearly all of that work. - Session delivery is accepted at 1.28x to 1.77x in instructions. It is the per-group and per-frame cost above on every hop, measured through the flow-controlled mock transport - ([#5530](https://github.com/moq-dev/moq/pull/5530)) that release's harness + ([moq-dev/moq#5530](https://github.com/moq-dev/moq/pull/5530)) that release's harness lacked. ### Release as a baseline @@ -148,8 +197,8 @@ later rounds swung both ways. JS `net/bench/frames.ts` on bun had lite rows at 1.2 to 1.3x and IETF rows at 1.3 to 2.2x. Fixed in Chromium: -[#6296](https://github.com/moq-dev/moq/pull/6296) removed a retained-history -scan, and [#6479](https://github.com/moq-dev/moq/pull/6479) stopped +[moq-dev/moq#6296](https://github.com/moq-dev/moq/pull/6296) removed a retained-history +scan, and [moq-dev/moq#6479](https://github.com/moq-dev/moq/pull/6479) stopped releasing a finished stream's reader lock, which built a `TypeError` per group stream. Every row then sits within the A/A spread of release. The group write/read microbench stays 3 to 12% above release against an @@ -183,8 +232,8 @@ Accepted, flat per operation: Both branches expand the AES-GCM key on every frame, about a quarter of `protect`, which the [performance audit](/quest/m3/audit-perf.md) owns. - gst `moqsink/eos` is +12% instructions per event, from - [#5512](https://github.com/moq-dev/moq/pull/5512) and the gstreamer-rs 0.25 - bump in [#6169](https://github.com/moq-dev/moq/pull/6169). + [moq-dev/moq#5512](https://github.com/moq-dev/moq/pull/5512) and the gstreamer-rs 0.25 + bump in [moq-dev/moq#6169](https://github.com/moq-dev/moq/pull/6169). - `group_write_frames` (1.67x) and `track_stamp_groups/sparse` (1.48x, down from 4.4x) are the per-frame and per-group costs accepted above, as are the session join, burst, and delivery families (1.2x to 1.76x). @@ -221,7 +270,7 @@ Decided 2026-10-25 (maintainer), in flattened it. - The TS schedule's growth is left to the [performance audit](/quest/m3/audit-perf.md); it does not block the cut. -- Now that the sparse fix has landed, re-run the relay fanout pairing on a +- ✅ Completed 2026-11-05 (see Final relay pairing): re-run the relay fanout pairing on a quiet host, recording `/proc/loadavg`, with `BENCH_ARTIFACTS= just bench origin/release` (it also re-checks the sparse rows). Fix it if the relay @@ -276,7 +325,8 @@ every group machine's wake. Its own pairing, 14 alternating rounds at load 7 to 28, found no high-mode round on either side: relay CPU 0.066 to 0.090 cores against release's 0.062 to 0.104, with mixed-sign paired deltas inside release's own spread, and 5 to 36% fewer user-space instructions than release -in every round. The re-pair above, on a quieter host, is what remains. +in every round. The remaining re-pair completed on 2026-11-05 (see Final relay +pairing), with the shared host load disclosed. Decided 2026-11-01 (maintainer), in [moq-dev/moq#7493](https://github.com/moq-dev/moq/pull/7493): ✅ the new @@ -356,4 +406,4 @@ live read is accepted, per delivered group through the session (see the ## Related -- [Performance audit](/quest/m3/audit-perf.md) - compares nightly to nightly; this epic compares main to release +- [Performance audit](/quest/m3/audit-perf.md) - compares nightly to nightly; this report compares main to release diff --git a/bench/README.md b/bench/README.md index ee67fa96f5e..52dc61ae7d3 100644 --- a/bench/README.md +++ b/bench/README.md @@ -151,6 +151,12 @@ transports, for example to compare only WebSocket against a base: nix develop --command just bench origin/main ws ``` +To repeat only the relay measurements, using the same builds, alternating rounds, +sampler and comparison report, run `just bench-relay origin/release quic`. +Linux suites retain one `/proc/loadavg` snapshot before builds and measurements; +this is host context, not a claim that every measurement window was quiet. +This omits all Criterion measurements. + Every relay serves QUIC and plain WebSocket on its port; `wss://`, `tcp://`, and `tls://` get their own listener on the port two above it. A base revision must accept the listener a case needs, so pass the transports it has: a relay without diff --git a/bench/run.sh b/bench/run.sh index 9846b5318e2..894493f6915 100755 --- a/bench/run.sh +++ b/bench/run.sh @@ -13,6 +13,16 @@ set -euo pipefail # `--fanout` counts the chat fan-out's instructions per delivered group on one thread, # for each BENCH_BASE revision and the current tree, independent of host load. +# Reuse the paired relay suite without repeating unrelated Criterion measurements. +RELAY_ONLY=false +if [[ ${1:-} == --relay ]]; then + RELAY_ONLY=true + shift + if (($# > 1)) || [[ ${1:-} == --* ]]; then + printf 'usage: run.sh --relay [BASE]\n' >&2 + exit 2 + fi +fi MODE=${1:-} ROUNDS=${BENCH_RUNTIME_ROUNDS:-3} if [[ ! $ROUNDS =~ ^[0-9]+$ ]] || ((10#$ROUNDS < 1)); then @@ -185,6 +195,10 @@ case $MODE in RUNTIME_WORKERS=$((10#$RUNTIME_WORKERS)) ;; *) + if (($# > 1)); then + printf 'usage: run.sh [BASE], or run.sh --relay [BASE]\n' >&2 + exit 2 + fi BASE=$MODE # Video stays on QUIC; chat (per-message cost) and fanout (per-byte cost) sweep the transports. RELAY_CASES=(quic/video) @@ -200,7 +214,11 @@ esac ROOT=$(git rev-parse --show-toplevel) # shellcheck source=bench/lock.sh source "$ROOT/bench/lock.sh" -bench_lock "$0" "$@" +if [[ $RELAY_ONLY == true ]]; then + bench_lock "$0" --relay "$@" +else + bench_lock "$0" "$@" +fi TARGET=${CARGO_TARGET_DIR:-$ROOT/target/bench} if [[ $TARGET != /* ]]; then TARGET=$ROOT/$TARGET @@ -282,7 +300,11 @@ STDOUT_PID=$! exec 2> >(tee "$RUN/stderr.log" >&4) STDERR_PID=$! -python3 "$ROOT/bench/metadata.py" "$RUN" "$BASE" "$MODE" "${RUNTIME_WORKERS:-}" "$ROUNDS" +METADATA_MODE=$MODE +if [[ $RELAY_ONLY == true ]]; then METADATA_MODE=--relay; fi +python3 "$ROOT/bench/metadata.py" "$RUN" "$BASE" "$METADATA_MODE" "${RUNTIME_WORKERS:-}" "$ROUNDS" +# Record external load before this session's builds and measurements add their own. +if [[ -r /proc/loadavg ]]; then cat /proc/loadavg >"$RUN/loadavg-start.txt"; fi cp -R "$ROOT/bench/workloads" "$RUN/workloads" cp -R "$ROOT/bench" "$RUN/harness" @@ -1303,9 +1325,11 @@ elif [[ -n $BASE ]]; then python3 "$ROOT/bench/metadata.py" "$RUN/base-context" "$BASE_COMMIT" comparison-base ) - printf 'Criterion comparison: %s (%s) versus current\n' "$BASE" "$BASE_COMMIT" - compare_criterion "$WORKTREE" "$ROOT" - report_set_changes + if [[ $RELAY_ONLY == false ]]; then + printf 'Criterion comparison: %s (%s) versus current\n' "$BASE" "$BASE_COMMIT" + compare_criterion "$WORKTREE" "$ROOT" + report_set_changes + fi printf '\nBuilding relay binaries...\n' ( @@ -1315,8 +1339,10 @@ elif [[ -n $BASE ]]; then cp "$BASE_TARGET/release/moq-relay" "$RUN/moq-relay-base" chmod +x "$RUN/moq-relay-base" else - printf 'Criterion current: %s\n' "$(git rev-parse --short HEAD)" - run_criterion "$ROOT" --discard-baseline + if [[ $RELAY_ONLY == false ]]; then + printf 'Criterion current: %s\n' "$(git rev-parse --short HEAD)" + run_criterion "$ROOT" --discard-baseline + fi printf '\nBuilding relay binaries...\n' fi generate_certificate diff --git a/js/net/src/lite/datagram-tracks.test.ts b/js/net/src/lite/datagram-tracks.test.ts index 3a843622e5f..2e3ffce68eb 100644 --- a/js/net/src/lite/datagram-tracks.test.ts +++ b/js/net/src/lite/datagram-tracks.test.ts @@ -450,8 +450,10 @@ for (const alpn of [ALPN_05, ALPN_06, ALPN_07_WIP]) { // A track's end waits a host task for the datagrams received with it. A session close in // between finishes the track rather than cutting it off: the publisher already ended it. +// Quarantined: the end needs host tasks under load, so the close aborts the track. +// Investigation: quest/m0/test-flakes-2/datagram-end-close.md. for (const alpn of [ALPN_05, ALPN_06, ALPN_07_WIP]) { - test(`${alpn}: a session close right after a datagram track's end keeps the end`, async () => { + test.skip(`${alpn}: a session close right after a datagram track's end keeps the end`, async () => { const source = new Origin(); const publication = source.route(path, { hidden: true }); const datagrams = publication.broadcast.createDatagrams("audio"); diff --git a/justfile b/justfile index 4614c2e657d..c3b1e5dd2ca 100644 --- a/justfile +++ b/justfile @@ -49,6 +49,10 @@ dev: bench $BASE="" $TRANSPORTS="quic ws wss tcp tls": BENCH_TRANSPORTS="$TRANSPORTS" bench/run.sh "$BASE" +# Run only the relay workloads, with the same paired rounds as `bench`. +bench-relay $BASE="" $TRANSPORTS="quic ws wss tcp tls": + BENCH_TRANSPORTS="$TRANSPORTS" bench/run.sh --relay "$BASE" + # Compare admitted suites across checkouts and worker counts; see bench/README.md. [positional-arguments] bench-local *args: diff --git a/quest/m0/test-flakes-2/README.md b/quest/m0/test-flakes-2/README.md index d86985652eb..ef746fe0838 100644 --- a/quest/m0/test-flakes-2/README.md +++ b/quest/m0/test-flakes-2/README.md @@ -101,6 +101,11 @@ tests' shared locked-memory budget, one child each. On 2026-11-06, moq-ffi's concurrent-ready test, quarantined here instead of in the unrelated [moq-dev/moq#7981](https://github.com/moq-dev/moq/pull/7981). +Added 2026-11-06 (maintainer's standing rule that flakes join this epic): +`js/net`'s datagram-end close case, which failed +[moq-dev/moq#7986](https://github.com/moq-dev/moq/pull/7986)'s Check while +reproducing on unchanged `main`. + Public API: none. Wire: none. ## Required @@ -113,4 +118,5 @@ Public API: none. Wire: none. - [The Python audio playout-delay test reads its frames](/quest/m0/test-flakes-2/audio-playout-delay.md) - `test_audio_consumer_reports_its_playout_delay` stops timing out on its first read in the merge queue - [io_uring tests fit the shared locked-memory budget](/quest/m0/test-flakes-2/uring-memlock.md) - concurrent moq-relay and moq-uring test runs stop exhausting the user's `RLIMIT_MEMLOCK`, fixed at the cause rather than by raising the limit - [The FFI concurrent-ready test wakes both calls under load](/quest/m0/test-flakes-2/ffi-concurrent-ready.md) - `concurrent_ready_calls_all_wake` stops stalling its reader drain under load and is re-enabled +- [The datagram-end close test survives load](/quest/m0/test-flakes-2/datagram-end-close.md) - `a session close right after a datagram track's end keeps the end` stops aborting the track under load and is re-enabled - [lite-05 copy fill checks idleness without wall time](/quest/m0/test-flakes-2/copy-fill-idle.md) - the copy-fill test proves no FETCH went out on the `Manual` clock, not a 200 ms real-time wait diff --git a/quest/m0/test-flakes-2/datagram-end-close.md b/quest/m0/test-flakes-2/datagram-end-close.md new file mode 100644 index 00000000000..39259d35445 --- /dev/null +++ b/quest/m0/test-flakes-2/datagram-end-close.md @@ -0,0 +1,47 @@ +# [S] The datagram-end close test survives load + +## Goal + +`js/net/src/lite/datagram-tracks.test.ts`'s +`a session close right after a datagram track's end keeps the end` passes +reliably in loaded runs, fixed at its cause under the +[epic](/quest/m0/test-flakes-2/README.md)'s rules, and its `test.skip` is +removed. + +## Plan + +Added 2026-11-06 (maintainer's standing rule that flakes join this epic). +[moq-dev/moq#7986](https://github.com/moq-dev/moq/pull/7986)'s Check failed +in this case, whose diff touches only `bench/`, `justfile`, and quest prose. +It reproduces on unchanged `origin/main`, so the flake came from +[moq-dev/moq#7951](https://github.com/moq-dev/moq/pull/7951)'s new case; +the PR quarantines it with every assertion kept. + +Reproduction 2026-11-06 on this head and on `git archive origin/main`, from +`js/net`, with six CPU loops on four cores: + +- `bun test src/lite/datagram-tracks.test.ts` failed 3 of 4 loaded runs here + and 3 of 3 on `origin/main`; only the lite-06 draft failed, though the + case loops over lite-05, lite-06, and lite-07-wip. +- The same filter `-t "a session close right after a datagram track's end + keeps the end"` passed 10 of 10 idle runs and 8 of 8 loaded runs, so the + whole file (its 37 other cases) is what makes the window miss. +- The failure rejects with `Session: remote error: 0` at `error.ts`'s + `closeError` from `connection.ts`'s `abort`, i.e. `reader.recv()` + rejected instead of ending. + +Likely cause, unverified: the case finishes the datagram track and then +drains only microtasks (`for (i < 1000) await Promise.resolve()`) before +`client.abort()`, assuming "the mock delivers the end in microtasks, all +within this host task". The FIN handler awaits `#datagramsRouted`, which +starts with a host-task `yieldNow`; `Subscriber.close` finishes only +datagram entries whose `ended` is already set and aborts the rest. Under +load the FIN is not read before the abort, so `ended` is still unset and +the producer aborts. Check the delivery point before choosing between +waiting on the end's arrival and yielding to the host in the drain. + +Reproduce first: temporarily remove the case's `test.skip`, then run the +whole file beside CPU loops, as above. Keep the failing output before making +other changes to the test or the end path. Restore the skip until the fix. + +Public API: none. Wire: none. diff --git a/quest/m1/README.md b/quest/m1/README.md index ebc75594efe..310e8f1bc22 100644 --- a/quest/m1/README.md +++ b/quest/m1/README.md @@ -27,9 +27,7 @@ cannot move until its PR merges, and an epic moves with its children. These breaking epics and quests stay in m1 for now and are listed in m2's `Required`, so the cut still waits on them: api-audit, datagram-tracks, drop-set, rind, session-policy, and stream-credit. The [re-cut follow-up](/quest/m2/recut-held.md) -moves what remains of them once their claims merge. release-perf, held for -the same reason, gates the cut through the -[cut gate](/quest/m2/cut-gate/README.md). +moves what remains of them once their claims merge. ## Required @@ -50,7 +48,6 @@ the same reason, gates the cut through the - [Push-to-talk's press-to-audible latency fits a budget on the defaults](/quest/m1/push-to-talk-latency.md) - press to audible on the browser defaults, excluding device output, stays under a kixtop-measured budget that `just test push-to-talk` enforces - [TS fidelity and recovery](/quest/m1/ts-reliability/README.md) - both modes have explicit profiles, automated validation, loss tests, and a dedicated guide - [WebGPU on Safari](/quest/m1/webgpu-safari.md) - the WebGPU renderer is verified on Safari 26 for macOS and iOS -- [Main is no slower than release](/quest/m1/release-perf/README.md) - every benchmark where main is slower than release is fixed or accepted with a reason, checked by a final paired run before the cut - [Session policy lives in moq-net](/quest/m1/session-policy/README.md) - accept and connect deadlines, admission, window widening and reconnect live once in moq-net; moq-tokio and moq-relay's io_uring path call them - [Vendor and trim the WebRTC stack](/quest/m1/webrtc-vendor.md) - str0m, dimpl, `is`, and sctp-proto live in moq-webrtc with unused code removed, so moq-rtc can take rind - [MoQ on rind](/quest/m1/rind/README.md) - every MoQ crate takes its crypto from rind, a pure-Rust graviola fork, so no build compiles C crypto diff --git a/quest/m1/api-audit/README.md b/quest/m1/api-audit/README.md index 1c3e73bdc31..1faf0a9fb8e 100644 --- a/quest/m1/api-audit/README.md +++ b/quest/m1/api-audit/README.md @@ -75,7 +75,3 @@ Rejected in planning: language's reserved names. - A follow policy enum folding `linger` and `stitch`: one name per meaning (the export wait is `--follow`) fixes the confusion more cheaply. - -## Related - -- [Main is no slower than release](/quest/m1/release-perf/README.md) - the other release-readiness check diff --git a/quest/m2/cut-gate/README.md b/quest/m2/cut-gate/README.md index dc212688434..26f9e20691e 100644 --- a/quest/m2/cut-gate/README.md +++ b/quest/m2/cut-gate/README.md @@ -26,12 +26,10 @@ than release" child with its Goal and no measurements yet, and takes the run re-created in m3. The pre-cut audit is a one-time child and does not recur. Only `/quest-delete` ends the recurrence. -Held by an open claim at the re-cut: [release-perf](/quest/m1/release-perf/README.md) -stays in m1 until its claim merges, so this gate lists it as a blocker; the -[re-cut follow-up](/quest/m2/recut-held.md) moves what remains of it here. +The completed [release performance comparison](/.github/release-perf.md) +records the accepted costs and final relay pairing for this cut. ## Required - [Pre-cut audit findings](/quest/m2/cut-gate/cut-audit/README.md) - fix the crashes, hostile-input costs, and correctness bugs the 2026-10-24 audit of main found -- [Main is no slower than release](/quest/m1/release-perf/README.md) - every benchmark where main is slower than release is fixed or accepted with a reason (held in m1 by an open claim) - [moq-c at parity](/quest/m2/cut-gate/c/README.md) - the hand-written `moq-c` ships at the cut with every binding feature moq-ffi gains diff --git a/quest/m2/recut-held.md b/quest/m2/recut-held.md index d9125daf2c9..e65779726d6 100644 --- a/quest/m2/recut-held.md +++ b/quest/m2/recut-held.md @@ -5,8 +5,7 @@ The epics that open claims held in place during the 2026-11-05 milestone re-cut sit where the re-cut's rules put them. What remains of api-audit, datagram-tracks, drop-set, rind, -session-policy, and stream-credit moves from m1 to m2; what remains of release-perf moves under -the [cut gate](/quest/m2/cut-gate/README.md); and the +session-policy, and stream-credit moves from m1 to m2; and the probe epic moves from m2 to m3. The "held" notes in the m1, m2, and cut gate READMEs are removed, along with each held entry's extra link from m2's or the gate's `Required`. diff --git a/quest/m3/audit-perf.md b/quest/m3/audit-perf.md index 84a344f7375..f97f1464b0b 100644 --- a/quest/m3/audit-perf.md +++ b/quest/m3/audit-perf.md @@ -138,7 +138,7 @@ wall-clock bisect blames the wrong commit. Count instructions instead: step; workspace sources show as `${workspace}`, so read them by name. - A wall-time hold at equal instructions may be page faults: compare `/usr/bin/time -f %R`, then pin glibc with `GLIBC_TUNABLES` (see - [the m1 release run](/quest/m1/release-perf/README.md)) before blaming code. + [the m1 release run](/.github/release-perf.md)) before blaming code. - A bench that is not CPU-bound is not attributable this way: `relay_auth_refresh` runs real loopback sockets and moved +27-60% on CI with +0.4% instructions. diff --git a/quest/m5/performance-survey/README.md b/quest/m5/performance-survey/README.md index e7618380916..38f8b29c70a 100644 --- a/quest/m5/performance-survey/README.md +++ b/quest/m5/performance-survey/README.md @@ -172,10 +172,10 @@ The `js/replay` nightly series and the browser smoke's `replay.json` protect it. ### Existing ownership and deliberately deferred work -- [Release performance](/quest/m1/release-perf/README.md) owns the main - against release comparison for this cut, including the sparse read slope; - it already fixed or accepted resume duplicates, idle GC, stats drain, FETCH - fan-out, JS frame regressions, and paired comparison correctness. The +- [Release performance](/.github/release-perf.md) records the completed main + against release comparison for this cut, including the sparse read slope, + resume duplicates, idle GC, stats drain, FETCH fan-out, JS frame regressions, + and paired comparison correctness. The [performance audit](/quest/m3/audit-perf.md) repeats it before later cuts. - [Perf](/quest/m4/perf/README.md) owns measured channel contention, relay allocations, ingest batching, worker quiescence and runtime selection.