RTCStatsReport: entries() 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 entries()
method of the RTCStatsReport
interface returns a new iterator object that can be used to iterate through the key/value pairs for each element in the RTCStatsReport
object, in insertion order.
The keys are unique id
values for monitored statistics objects from which the statistics are derived, and the associated values are statistics dictionary objects.
The method is otherwise the same as Map.prototype.entries()
.
Syntax
entries()
Parameters
None.
Return value
A new iterable iterator object.
Examples
This example shows how to iterate through a RTCStatsReport
using the iterator returned by entries()
.
Given a variable myPeerConnection
, which is an instance of RTCPeerConnection
, the code calls getStats()
with await
to wait for the statistics report.
It then uses a for...of loop, with the iterator returned by entries()
, to iterate through the entries.
The properties of statistics objects with the type
of outbound-rtp
are logged to the console (other objects are discarded).
const stats = await myPeerConnection.getStats();
for (const stat of stats.entries()) {
if (stat.type != "outbound-rtp") continue;
Object.keys(stat).forEach((statName) => {
console.log(`${statName}: ${report[statName]}`);
});
}
Specifications
Specification |
---|
WebRTC: Real-Time Communication in Browsers # dom-rtcstatsreport |
Browser compatibility
BCD tables only load in the browser