RTCRtpReceiver: getStats() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

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.

Syntax

js
getStats()

Parameters

None.

Return value

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.

Examples

This simple example obtains the statistics for an RTCRtpReceiver and updates an element's innerText to display the number of packets lost.

js
receiver.getStats().then((stats) => {
  document.getElementById("lost-packets").innerText = stats.packetsLost;
});

Specifications

Specification
WebRTC: Real-Time Communication in Browsers
# widl-RTCRtpReceiver-getStats-Promise-RTCStatsReport

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
getStats

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also