Thanks — I’ll help you monitor participant connection quality, packet loss, and a published microphone track’s bitrate.
Brief answer
• Subscribe to Room connection-quality events to get per-participant quality updates.
• Use per-track telemetry / getStats to read packet loss and bitrate for a published microphone track (or the track as received by a subscriber).
• If you need continuous polling, call the stats API on a regular interval and/or listen to connection-quality events for push updates.
What to use
• RoomEvent.ConnectionQualityChanged — receives updates when a participant’s overall connection quality changes (Poor/Good/Excellent).
• Track-level stats / telemetry — exposes packet loss, bitrate, and other metrics for published and subscribed tracks.
How to implement (high level)
1. Listen for connection quality changes:
◦ Register a handler for the room’s connection-quality event to get live per-participant quality updates.
1. Inspect track stats:
◦ When you have the participant’s microphone track (published or subscribed), call the SDK’s track stats/telemetry method (or the getStats equivalent).
◦ Read fields such as packet loss rate and current bitrate from the returned stats object.
1. Polling vs events:
◦ For real-time visibility, combine event listeners (ConnectionQualityChanged) with periodic calls to the track stats API (e.g., every 1–5s) if you want a continuous numeric stream.
1. UI/alerts:
◦ Emit or display packet-loss thresholds and bitrate drops based on your tolerance (e.g., packet loss > X% or bitrate below Y kbps).
If you’d like, tell me:
• Which client SDK are you using (Web, iOS, Android, or server)?
• Do you want code samples for event listeners or periodic getStats polling?
I’ll provide an exact code snippet once you confirm the SDK.
Sources:
Announcing LiveKit Cloud | LiveKit, with interactive elements