This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2019.
The RTCRtpReceiver method getStats() asynchronously requests an RTCStatsReport object which provides statistics about incoming traffic on the owning RTCPeerConnection, returning a Promise whose fulfillment handler will be called once the results are available.
getStats()
None.
A JavaScript Promise which is fulfilled once the statistics are available. The promise's fulfillment handler receives as a parameter a RTCStatsReport object containing the collected statistics.
The returned statistics include those from all streams which are coming in through the RTCRtpReceiver, as well as any of their dependencies.
These might include, for example, statistics with types: inbound-rtp, candidate-pair, local-candidate, remote-candidate.
This simple example obtains the statistics for an RTCRtpReceiver and updates an element's innerText to display the number of packets lost.
receiver.getStats().then((stats) => {
document.getElementById("lost-packets").innerText = stats.packetsLost;
});
| Specification |
|---|
| WebRTC: Real-Time Communication in Browsers> # widl-RTCRtpReceiver-getStats-Promise-RTCStatsReport> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
getStats |
67 | 13 | 55 | 54 | 12.1 | 67 | 55 | 48 | 12.2 | 7.0 | 67 | 12.2 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpReceiver/getStats