The RTCDataChannelStats
dictionary of the WebRTC API provides statistics related to one RTCDataChannel
object on the connection.
The report can be obtained by iterating the RTCStatsReport
returned by RTCPeerConnection.getStats()
until you find an entry with the type
of data-channel
.
The data channels statistics may be correlated to a particular channel by comparing the dataChannelIdentifier
property to a matching RTCDataChannel.id
.
The following properties are common to all WebRTC statistics objects (See RTCStatsReport
for more information).
id
-
A string that uniquely identifies the object that is being monitored to produce this set of statistics.
timestamp
-
A DOMHighResTimeStamp
object indicating the time at which the sample was taken for this statistics object.
type
-
A string with the value "data-channel"
, indicating the type of statistics that the object contains.
Given a variable myPeerConnection
, which is an instance of RTCPeerConnection
, the code below uses await
to wait for the statistics report, and then iterates it using RTCStatsReport.forEach()
. It then filters the dictionaries for just those reports that have the type of data-channel
and logs the result.
const stats = await myPeerConnection.getStats();
stats.forEach((report) => {
if (report.type === "data-channel") {
console.log(report);
}
});