🏠 New in High Baseline Support: WebRTC statistics
July 15, 2022
The RTCPeerConnection.getStats(), RTCRtpSender.getStats(), and RTCRtpReceiver.getStats() methods return detailed information about the status, performance, network, and media for a given WebRTC connection.
Source features
api.RTCPeerConnection.getStats[mdn]api.RTCRtpReceiver.getStats[mdn]api.RTCRtpSender.getStats[mdn]api.RTCStatsReport[mdn]api.RTCStatsReport.forEach[mdn]api.RTCStatsReport.get[mdn]api.RTCStatsReport.has[mdn]api.RTCStatsReport.type_candidate-pair[mdn]api.RTCStatsReport.type_candidate-pair.localCandidateId[mdn]api.RTCStatsReport.type_candidate-pair.remoteCandidateId[mdn]api.RTCStatsReport.type_candidate-pair.state[mdn]api.RTCPeerConnection.getStats.returns_promise[mdn]api.RTCStatsReport.@@iterator[mdn]api.RTCStatsReport.entries[mdn]api.RTCStatsReport.keys[mdn]api.RTCStatsReport.values[mdn]api.RTCStatsReport.type_candidate-pair.bytesReceived[mdn]api.RTCStatsReport.type_candidate-pair.bytesSent[mdn]api.RTCStatsReport.type_candidate-pair.nominated[mdn]api.RTCStatsReport.type_candidate-pair.transportId[mdn]api.RTCStatsReport.size[mdn]api.RTCStatsReport.type_inbound-rtp[mdn]api.RTCPeerConnection.getStats.selector_parameter[mdn]api.RTCStatsReport.type_inbound-rtp.ssrc[mdn]api.RTCStatsReport.type_outbound-rtp[mdn]api.RTCStatsReport.type_outbound-rtp.ssrc[mdn]api.RTCStatsReport.type_remote-inbound-rtp[mdn]api.RTCStatsReport.type_remote-inbound-rtp.ssrc[mdn]api.RTCStatsReport.type_local-candidate[mdn]api.RTCStatsReport.type_local-candidate.candidateType[mdn]api.RTCStatsReport.type_remote-candidate[mdn]api.RTCStatsReport.type_remote-candidate.candidateType[mdn]api.RTCStatsReport.type_local-candidate.protocol[mdn]api.RTCStatsReport.type_remote-candidate.protocol[mdn]api.RTCStatsReport.type_inbound-rtp.bytesReceived[mdn]api.RTCStatsReport.type_inbound-rtp.jitter[mdn]api.RTCStatsReport.type_outbound-rtp.packetsSent[mdn]api.RTCStatsReport.type_local-candidate.port[mdn]api.RTCStatsReport.type_local-candidate.priority[mdn]api.RTCStatsReport.type_remote-candidate.port[mdn]api.RTCStatsReport.type_remote-candidate.priority[mdn]api.RTCStatsReport.type_candidate-pair.id[mdn]api.RTCStatsReport.type_candidate-pair.timestamp[mdn]api.RTCStatsReport.type_candidate-pair.type[mdn]api.RTCStatsReport.type_inbound-rtp.id[mdn]api.RTCStatsReport.type_inbound-rtp.packetsLost[mdn]api.RTCStatsReport.type_inbound-rtp.packetsReceived[mdn]api.RTCStatsReport.type_inbound-rtp.timestamp[mdn]api.RTCStatsReport.type_inbound-rtp.type[mdn]api.RTCStatsReport.type_local-candidate.id[mdn]api.RTCStatsReport.type_local-candidate.timestamp[mdn]api.RTCStatsReport.type_local-candidate.type[mdn]api.RTCStatsReport.type_outbound-rtp.bytesSent[mdn]api.RTCStatsReport.type_outbound-rtp.id[mdn]api.RTCStatsReport.type_outbound-rtp.timestamp[mdn]api.RTCStatsReport.type_outbound-rtp.type[mdn]api.RTCStatsReport.type_remote-candidate.id[mdn]api.RTCStatsReport.type_remote-candidate.timestamp[mdn]api.RTCStatsReport.type_remote-candidate.type[mdn]api.RTCStatsReport.type_inbound-rtp.kind[mdn]api.RTCStatsReport.type_outbound-rtp.kind[mdn]api.RTCStatsReport.type_remote-inbound-rtp.kind[mdn]api.RTCStatsReport.type_remote-inbound-rtp.id[mdn]api.RTCStatsReport.type_remote-inbound-rtp.localId[mdn]api.RTCStatsReport.type_remote-inbound-rtp.timestamp[mdn]api.RTCStatsReport.type_remote-inbound-rtp.type[mdn]api.RTCStatsReport.type_remote-outbound-rtp[mdn]api.RTCStatsReport.type_remote-outbound-rtp.ssrc[mdn]api.RTCStatsReport.type_remote-outbound-rtp.kind[mdn]api.RTCStatsReport.type_remote-inbound-rtp.roundTripTime[mdn]api.RTCStatsReport.type_outbound-rtp.codecId[mdn]api.RTCStatsReport.type_remote-inbound-rtp.codecId[mdn]api.RTCStatsReport.type_codec[mdn]api.RTCStatsReport.type_codec.clockRate[mdn]api.RTCStatsReport.type_codec.id[mdn]api.RTCStatsReport.type_codec.mimeType[mdn]api.RTCStatsReport.type_codec.payloadType[mdn]api.RTCStatsReport.type_codec.timestamp[mdn]api.RTCStatsReport.type_codec.type[mdn]api.RTCStatsReport.type_codec.sdpFmtpLine[mdn]api.RTCStatsReport.type_codec.channels[mdn]api.RTCStatsReport.type_remote-outbound-rtp.codecId[mdn]api.RTCStatsReport.type_outbound-rtp.nackCount[mdn]api.RTCStatsReport.type_inbound-rtp.packetsDiscarded[mdn]api.RTCStatsReport.type_outbound-rtp.headerBytesSent[mdn]api.RTCStatsReport.type_outbound-rtp.retransmittedBytesSent[mdn]api.RTCStatsReport.type_outbound-rtp.retransmittedPacketsSent[mdn]api.RTCStatsReport.type_inbound-rtp.concealedSamples[mdn]api.RTCStatsReport.type_inbound-rtp.jitterBufferDelay[mdn]api.RTCStatsReport.type_inbound-rtp.jitterBufferEmittedCount[mdn]api.RTCStatsReport.type_inbound-rtp.silentConcealedSamples[mdn]api.RTCStatsReport.type_inbound-rtp.totalSamplesReceived[mdn]api.RTCStatsReport.type_inbound-rtp.headerBytesReceived[mdn]api.RTCStatsReport.type_inbound-rtp.fecPacketsDiscarded[mdn]api.RTCStatsReport.type_inbound-rtp.fecPacketsReceived[mdn]api.RTCStatsReport.type_inbound-rtp.concealmentEvents[mdn]api.RTCStatsReport.type_inbound-rtp.insertedSamplesForDeceleration[mdn]api.RTCStatsReport.type_inbound-rtp.removedSamplesForAcceleration[mdn]api.RTCStatsReport.type_inbound-rtp.totalAudioEnergy[mdn]api.RTCStatsReport.type_inbound-rtp.totalSamplesDuration[mdn]api.RTCStatsReport.type_inbound-rtp.trackIdentifier[mdn]api.RTCStatsReport.type_peer-connection[mdn]api.RTCStatsReport.type_peer-connection.dataChannelsClosed[mdn]api.RTCStatsReport.type_peer-connection.dataChannelsOpened[mdn]api.RTCStatsReport.type_peer-connection.id[mdn]api.RTCStatsReport.type_peer-connection.timestamp[mdn]api.RTCStatsReport.type_peer-connection.type[mdn]api.RTCStatsReport.type_media-source[mdn]api.RTCStatsReport.type_media-source.id[mdn]api.RTCStatsReport.type_media-source.kind[mdn]api.RTCStatsReport.type_media-source.timestamp[mdn]api.RTCStatsReport.type_media-source.trackIdentifier[mdn]api.RTCStatsReport.type_media-source.type[mdn]api.RTCStatsReport.type_data-channel[mdn]api.RTCStatsReport.type_data-channel.bytesReceived[mdn]api.RTCStatsReport.type_data-channel.bytesSent[mdn]api.RTCStatsReport.type_data-channel.id[mdn]api.RTCStatsReport.type_data-channel.label[mdn]api.RTCStatsReport.type_data-channel.messagesReceived[mdn]api.RTCStatsReport.type_data-channel.messagesSent[mdn]api.RTCStatsReport.type_data-channel.protocol[mdn]api.RTCStatsReport.type_data-channel.state[mdn]api.RTCStatsReport.type_data-channel.timestamp[mdn]api.RTCStatsReport.type_data-channel.type[mdn]api.RTCStatsReport.type_candidate-pair.requestsReceived[mdn]api.RTCStatsReport.type_candidate-pair.requestsSent[mdn]api.RTCStatsReport.type_candidate-pair.responsesReceived[mdn]api.RTCStatsReport.type_candidate-pair.responsesSent[mdn]api.RTCStatsReport.type_candidate-pair.totalRoundTripTime[mdn]api.RTCStatsReport.type_inbound-rtp.qpSum[mdn]api.RTCStatsReport.type_inbound-rtp.totalDecodeTime[mdn]api.RTCStatsReport.type_inbound-rtp.totalInterFrameDelay[mdn]api.RTCStatsReport.type_inbound-rtp.totalSquaredInterFrameDelay[mdn]api.RTCStatsReport.type_inbound-rtp.framesDecoded[mdn]api.RTCStatsReport.type_inbound-rtp.transportId[mdn]api.RTCStatsReport.type_outbound-rtp.transportId[mdn]api.RTCStatsReport.type_remote-inbound-rtp.transportId[mdn]api.RTCStatsReport.type_local-candidate.transportId[mdn]api.RTCStatsReport.type_remote-candidate.transportId[mdn]api.RTCStatsReport.type_certificate[mdn]api.RTCStatsReport.type_certificate.base64Certificate[mdn]api.RTCStatsReport.type_certificate.fingerprint[mdn]api.RTCStatsReport.type_certificate.fingerprintAlgorithm[mdn]api.RTCStatsReport.type_certificate.id[mdn]api.RTCStatsReport.type_certificate.timestamp[mdn]api.RTCStatsReport.type_certificate.type[mdn]api.RTCStatsReport.type_transport[mdn]api.RTCStatsReport.type_transport.bytesReceived[mdn]api.RTCStatsReport.type_transport.bytesSent[mdn]api.RTCStatsReport.type_transport.id[mdn]api.RTCStatsReport.type_transport.localCertificateId[mdn]api.RTCStatsReport.type_transport.remoteCertificateId[mdn]api.RTCStatsReport.type_transport.selectedCandidatePairId[mdn]api.RTCStatsReport.type_transport.timestamp[mdn]api.RTCStatsReport.type_transport.type[mdn]api.RTCStatsReport.type_outbound-rtp.mediaSourceId[mdn]api.RTCStatsReport.type_transport.dtlsCipher[mdn]api.RTCStatsReport.type_transport.dtlsState[mdn]api.RTCStatsReport.type_transport.srtpCipher[mdn]api.RTCStatsReport.type_transport.tlsVersion[mdn]api.RTCStatsReport.type_remote-inbound-rtp.jitter[mdn]api.RTCStatsReport.type_remote-inbound-rtp.packetsLost[mdn]api.RTCStatsReport.type_inbound-rtp.codecId[mdn]api.RTCStatsReport.type_outbound-rtp.totalEncodeTime[mdn]api.RTCStatsReport.type_inbound-rtp.lastPacketReceivedTimestamp[mdn]api.RTCStatsReport.type_media-source.framesPerSecond[mdn]api.RTCStatsReport.type_media-source.height[mdn]api.RTCStatsReport.type_media-source.width[mdn]api.RTCStatsReport.type_outbound-rtp.framesEncoded[mdn]api.RTCStatsReport.type_outbound-rtp.qpSum[mdn]api.RTCStatsReport.type_outbound-rtp.frameHeight[mdn]api.RTCStatsReport.type_outbound-rtp.frameWidth[mdn]api.RTCStatsReport.type_outbound-rtp.framesSent[mdn]api.RTCStatsReport.type_outbound-rtp.framesPerSecond[mdn]api.RTCStatsReport.type_inbound-rtp.frameHeight[mdn]api.RTCStatsReport.type_inbound-rtp.frameWidth[mdn]api.RTCStatsReport.type_inbound-rtp.framesPerSecond[mdn]api.RTCStatsReport.type_inbound-rtp.framesReceived[mdn]api.RTCStatsReport.type_inbound-rtp.audioLevel[mdn]api.RTCStatsReport.type_codec.transportId[mdn]api.RTCStatsReport.type_media-source.frames[mdn]api.RTCStatsReport.type_remote-outbound-rtp.transportId[mdn]api.RTCStatsReport.type_local-candidate.address[mdn]api.RTCStatsReport.type_remote-candidate.address[mdn]api.RTCStatsReport.type_inbound-rtp.remoteId[mdn]api.RTCStatsReport.type_remote-outbound-rtp.localId[mdn]api.RTCStatsReport.type_remote-outbound-rtp.bytesSent[mdn]api.RTCStatsReport.type_remote-outbound-rtp.id[mdn]api.RTCStatsReport.type_remote-outbound-rtp.packetsSent[mdn]api.RTCStatsReport.type_remote-outbound-rtp.timestamp[mdn]api.RTCStatsReport.type_remote-outbound-rtp.type[mdn]api.RTCStatsReport.type_remote-outbound-rtp.remoteTimestamp[mdn]api.RTCStatsReport.type_remote-inbound-rtp.fractionLost[mdn]api.RTCStatsReport.type_remote-inbound-rtp.roundTripTimeMeasurements[mdn]api.RTCStatsReport.type_remote-inbound-rtp.totalRoundTripTime[mdn]api.RTCStatsReport.type_outbound-rtp.targetBitrate[mdn]api.RTCStatsReport.type_inbound-rtp.totalProcessingDelay[mdn]api.RTCStatsReport.type_inbound-rtp.mid[mdn]api.RTCStatsReport.type_candidate-pair.lastPacketReceivedTimestamp[mdn]api.RTCStatsReport.type_candidate-pair.lastPacketSentTimestamp[mdn]api.RTCStatsReport.type_inbound-rtp.nackCount[mdn]api.RTCStatsReport.type_outbound-rtp.remoteId[mdn]api.RTCStatsReport.type_data-channel.dataChannelIdentifier[mdn]api.RTCStatsReport.type_candidate-pair.availableOutgoingBitrate[mdn]api.RTCStatsReport.type_candidate-pair.currentRoundTripTime[mdn]api.RTCStatsReport.type_inbound-rtp.keyFramesDecoded[mdn]api.RTCStatsReport.type_candidate-pair.consentRequestsSent[mdn]api.RTCStatsReport.type_media-source.audioLevel[mdn]api.RTCStatsReport.type_media-source.totalAudioEnergy[mdn]api.RTCStatsReport.type_media-source.totalSamplesDuration[mdn]api.RTCStatsReport.type_outbound-rtp.keyFramesEncoded[mdn]api.RTCStatsReport.type_outbound-rtp.qualityLimitationReason[mdn]api.RTCStatsReport.type_outbound-rtp.totalPacketSendDelay[mdn]api.RTCStatsReport.type_transport.selectedCandidatePairChanges[mdn]api.RTCStatsReport.type_transport.packetsReceived[mdn]api.RTCStatsReport.type_transport.packetsSent[mdn]api.RTCStatsReport.type_remote-outbound-rtp.reportsSent[mdn]api.RTCStatsReport.type_outbound-rtp.qualityLimitationDurations[mdn]api.RTCStatsReport.type_candidate-pair.bytesDiscardedOnSend[mdn]api.RTCStatsReport.type_candidate-pair.packetsDiscardedOnSend[mdn]api.RTCStatsReport.type_candidate-pair.packetsReceived[mdn]api.RTCStatsReport.type_candidate-pair.packetsSent[mdn]api.RTCStatsReport.type_remote-outbound-rtp.roundTripTimeMeasurements[mdn]api.RTCStatsReport.type_remote-outbound-rtp.totalRoundTripTime[mdn]api.RTCStatsReport.type_transport.dtlsRole[mdn]api.RTCStatsReport.type_transport.iceLocalUsernameFragment[mdn]api.RTCStatsReport.type_transport.iceRole[mdn]api.RTCStatsReport.type_transport.iceState[mdn]api.RTCStatsReport.type_inbound-rtp.jitterBufferMinimumDelay[mdn]api.RTCStatsReport.type_inbound-rtp.jitterBufferTargetDelay[mdn]api.RTCStatsReport.type_outbound-rtp.mid[mdn]api.RTCStatsReport.type_outbound-rtp.active[mdn]api.RTCStatsReport.type_local-candidate.foundation[mdn]api.RTCStatsReport.type_local-candidate.usernameFragment[mdn]api.RTCStatsReport.type_remote-candidate.foundation[mdn]api.RTCStatsReport.type_remote-candidate.usernameFragment[mdn]api.RTCStatsReport.type_outbound-rtp.scalabilityMode[mdn]api.RTCStatsReport.type_inbound-rtp.playoutId[mdn]api.RTCStatsReport.type_media-playout[mdn]api.RTCStatsReport.type_media-playout.id[mdn]api.RTCStatsReport.type_media-playout.kind[mdn]api.RTCStatsReport.type_media-playout.synthesizedSamplesDuration[mdn]api.RTCStatsReport.type_media-playout.synthesizedSamplesEvents[mdn]api.RTCStatsReport.type_media-playout.timestamp[mdn]api.RTCStatsReport.type_media-playout.totalPlayoutDelay[mdn]api.RTCStatsReport.type_media-playout.totalSamplesCount[mdn]api.RTCStatsReport.type_media-playout.totalSamplesDuration[mdn]api.RTCStatsReport.type_media-playout.type[mdn]api.RTCStatsReport.type_remote-inbound-rtp.packetsReceived[mdn]api.RTCStatsReport.type_outbound-rtp.totalEncodedBytesTarget[mdn]