RTCDataChannelStats
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
TheRTCDataChannelStats dictionary of theWebRTC API provides statistics related to oneRTCDataChannel object on the connection.
The report can be obtained by iterating theRTCStatsReport returned byRTCPeerConnection.getStats() until you find an entry with thetype ofdata-channel.
The data channels statistics may be correlated to a particular channel by comparing thedataChannelIdentifier property to a matchingRTCDataChannel.id.
In this article
Instance properties
bytesSentOptionalA positive integer value indicating the total number of payload bytes sent on the associated
RTCDataChannel.bytesReceivedOptionalA positive integer value indicating the total number of payload bytes received on the associated
RTCDataChannel.dataChannelIdentifierOptionalA positive integer value containing the
idof the associatedRTCDataChannel.labelOptionalA string containing the
labelof the associatedRTCDataChannel.messagesReceivedOptionalA positive integer value indicating the total number of
messageevents fired for received messages on the associatedRTCDataChannel.messagesSentOptionalA positive integer value indicating the total number of
messageevents fired for sent messages on the channel.protocolOptionalA string containing the
protocolof the associatedRTCDataChannel.stateThe
readyStateof the associatedRTCDataChannel.
Common instance properties
The following properties are common to all WebRTC statistics objects (SeeRTCStatsReport for more information).
idA string that uniquely identifies the object that is being monitored to produce this set of statistics.
timestampA
DOMHighResTimeStampobject indicating the time at which the sample was taken for this statistics object.typeA string with the value
"data-channel", indicating the type of statistics that the object contains.
Examples
Given a variablemyPeerConnection, which is an instance ofRTCPeerConnection, the code below usesawait to wait for the statistics report, and then iterates it usingRTCStatsReport.forEach().It then filters the dictionaries for just those reports that have the type ofdata-channel and logs the result.
const stats = await myPeerConnection.getStats();stats.forEach((report) => { if (report.type === "data-channel") { // Log the channel information console.log(report); }});Specifications
| Specification |
|---|
| Identifiers for WebRTC's Statistics API> # dom-rtcstatstype-data-channel> |