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

BCD tables only load in the browser

See also