Learn how to receive basic and advanced stats from our SDKs.
The SDKs provide developers with the dedicated events on call quality. You can subscribe to them in order to handle codec mismatch, latency, and so on:
You can measure how critical an issue is by looking at its code name returned in the event, see the nearby article about it.
We recommend the following approaches for gathering connection stats and/or developing custom tools for tracking issues.
The stats is received all the time while a call is active. There are two stats interfaces: CallStats (the general stats of a call) and EndpointStats (the stats of each participant of a call/conference).
If you dealing with a simple call with two participants, CallStats would be equal EndpointStats.
By default, the stats comes every 10 (Web, iOS) or 5 seconds (Android); if you want to react quickly on changes, you can change this value. To do so, specify the rtcStatsCollectionInterval while initiating a Client instance:
Stats is accumulated in RAM during the interval specified in rtcStatsCollectionInterval. Thus, the bigger the interval is, the higher RAM utilization will be.
Another point worth mentioning is the timestamp value in the received stats. Bear in mind that it should differ from the previous received value; if not, you're probably experiencing some troubles with gathering stats.