This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2019.
The RTCRtpSender method getStats() asynchronously requests an RTCStatsReport object which provides statistics about outgoing traffic on the RTCPeerConnection which owns the sender, returning a Promise which is fulfilled when 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 RTCStatsReport accumulates the statistics for all of the streams being sent using the RTCRtpSender, as well as the statistics for any dependencies those streams have.
These might include, for example, statistics with types: outbound-rtp, candidate-pair, local-candidate, remote-candidate.
This simple example obtains the statistics for an RTCRtpSender and updates an element's innerText to display the current round trip time for requests on the sender.
sender.getStats().then((stats) => {
document.getElementById("currentRTT").innerText = stats.roundTripTime;
});
| Specification |
|---|
| WebRTC: Real-Time Communication in Browsers> # widl-RTCRtpSender-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 | 9.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/RTCRtpSender/getStats