Open Source
The open-source rtcStats stack: rtcstats-js on the client and rtcstats-server in your own infrastructure. Integrate, deploy, scale, secure, and enrich.
rtcStats is built on an open-source stack you can run yourself, end to end. rtcstats-js is the client-side SDK that collects WebRTC traces from your application. rtcstats-server is the collection layer you run in your own infrastructure: it terminates the WebSocket stream from rtcstats-js, buffers each session to disk, and hands finished dumps to your storage and database.
This section covers both: how to instrument your client, and how to deploy, scale, secure, and enrich your own server.
Start here
- Requirements & Operations Guide - machine specs, capacity, and day-two operations
Instrument the client (rtcstats-js)
- Trace custom events into your dump - send your own app events, like a user rating, into the same dump as the WebRTC traces
Deploy
- Deploy on AWS App Runner - stand up rtcstats-server on AWS's managed container platform
- Deploy on DigitalOcean Apps Platform - stand up rtcstats-server on DigitalOcean's managed app platform
Scale & operate
- Horizontally scale in a cluster - run multiple instances behind a load balancer for high-volume traffic
Secure
- Authenticate clients with JWT - secure rtcstats-server with signed JWT authorization
- Configure for privacy - anonymize IPs, strip PII, and comply with data regulations
Enrich
- Associate your call ID and meeting ID with a record - map your app's call and meeting identifiers to rtcStats sessions
- Enrich with GeoIP data - add country and city metadata with MaxMind GeoLite2
- Integrate geolocation services - enrich sessions with geographic data for regional analysis
Query & analyze
- rtcstats-server feature extraction - the ~100 structured features extracted from every session, grouped by client, connection, and track
- How to query rtcstats-server features - the SQL schema, the master join, and eight ready-to-run analytical recipes