WebRTC Metrics
A comprehensive overview of WebRTC statistics, derived calculations, extracted features, and observable signals, to better understand call quality, connectivity, and user experience in rtcStats
User agent data (feature)
Client-level feature capturing the browser, version, and platform reported at dump start.
Description
Client-level feature, extracted per session into features_client.
userAgentData captures the user agent (and User Agent Client Hints, when the browser exposes them) recorded at dump start. It is stored as a structured object holding the browser brands and versions, the platform, and the mobile flag, so you can identify what the session ran on without parsing a raw UA string.
Why it matters
WebRTC behavior varies sharply by browser, version, and platform, so almost every quality question eventually needs a browser or version breakdown. When a metric regresses, userAgentData is how you find out whether it is one Chrome release, one operating system, or mobile devices as a group, which turns "something got worse" into a targeted bug report. It is also the field you group launch and adoption numbers by when you need to know which clients your traffic actually comes from.
SQL example
Session counts by reported browser brand, last 30 days:
SELECT
client.user_agent_data ->> 'platform' AS platform,
brand.value ->> 'brand' AS browser,
COUNT(*) AS sessions
FROM "rtcstats-server" AS server
JOIN features_metadata AS metadata ON metadata.dump_id = server.id
JOIN features_client AS client ON client.dump_id = metadata.id
CROSS JOIN LATERAL jsonb_array_elements(client.user_agent_data -> 'brands') AS brand(value)
WHERE server.created_at > NOW() - INTERVAL '30 days'
GROUP BY platform, browser
ORDER BY sessions DESC;
See also
- rtcstats-server feature extraction - the full feature reference. These features are extracted by rtcstats-server and live in the open-source
rtcstats-featurespackage. - How to query rtcstats-server features - more SQL recipes.