rtc: LiveKit ConnectionQuality + RTC stats logging (packet-loss visibility) #116
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
dark/nether-voicebridge#116
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Gap: the bridge is blind to loss/jitter on the LiveKit leg. The Discord leg has proxies (
shape_warnsPLC-frame counter,jitter_dropped), but we handle noConnectionQualityevents and read no RTC stats from the SFU — so per-participant link quality between clients/bridge and LiveKit is invisible.Cost of the gap (real case, 2026-07-13): a beta user reported choppy audio; bridge-side metrics were all clean (
jitter_dropped=0,capture_errs=0, steady voicetick), so the client↔SFU leg could only be inferred by elimination.ConnectionQualityevents would have answered it with data.Proposal:
ConnectionQualityChangedevents inrtc::session(subscriber) andrtc::ghost(publishers); log quality transitions per participant identity (rate-limited INFO, WARN onPoor)./metricsexporter (see the Prometheus issue).Phase 1 (ConnectionQualityChanged events, WARN on Poor/Lost) merged in PR #122, shipped in v0.3.0. Keeping open for the second half: periodic RTC stats sampling (loss %/jitter) folded into the 5s audio-health line.