WebRTC Metrics
A comprehensive overview of WebRTC statistics, derived indicators, and observable signals, to better understand call quality, connectivity, and user experience in rtcStats
A bluetooth device is being usedAEC DisabledApple device usedAudio InterruptionsaudioLevelaudioLevelaudioLevel(rms)audioLevel(rms)availableIncomingBitrateavailableOutgoingBitratebytesDiscardedOnSendbytesReceieved (bits/s)bytesReceivedbytesReceivedbytesReceivedbytesReceived (bits/s)bytesReceived(bits/s)bytesSentbytesSentbytesSentbytesSentbytesSent (bits/s)bytesSent (bits/s)bytesSent(bits/s)Can't establish connection to TURNconcealedSamplesconcealedSamples/sconcealedSamples/totalSamplesReceived(%)concealmentEventsConnected via a public discovered addressConnected via VPNConnection churnConnection relayed over TCPConnection relayed over TLSConnection warmupconsentRequestsSentConstant Microphone VolumecorruptionMeasurementsCPU pressurecurrentRoundTripTime(ms)Delay in playing audioDelays on sending mediaDTLS failureDuplicated lines in local SDPDuplicated lines in remote SDPechoReturnLossechoReturnLossEnhancementfecBytesReceivedfecPacketsDiscardedfecPacketsDiscarded/sfecPacketsReceivedfecPacketsReceived/sfirCountfirCountfractionLostframeHeightframeHeightframesframesAssembledFromMultiplePacketsframesDecodedframesDecoded/sframesDroppedframesDropped/Received(%)framesEncodedframesEncoded/sframesPerSecondframesPerSecondframesPerSecondframesReceivedframesReceived/sframesRenderedframesSentframesSent/sframeWidthframeWidthfreezeCountheaderBytesReceivedheaderBytesReceived(bits/s)headerBytesReceived(bits/s)headerBytesSentheightHigh bandwidth limitationHigh CPU LimitationHigh decode timeHigh encode timeHigh freeze durationHigh incoming audio packet lossHigh incoming media jitterHigh incoming media round trip timeHigh other limitationHigh outgoing audio packet lossHigh outgoing media jitterHigh outgoing media round trip timeHigh pause durationHigh signaling timeHigh STUN delayHigh TURN delayhugeFramesSentICE warmupIncoming audio is too loudIncoming audio is too lowInefficient Simulcast detectedinsertedSamplesForDecelerationinsertedSamplesForDeceleration/sInternal IP exposedinterruptionCountInvalid packet loss valuesIPv6 Connectionjitter(ms)jitter(ms)jitterBufferDelayjitterBufferDelay/jitterBufferEmittedCount(ms)jitterBufferEmittedCountjitterBufferFlushesjitterBufferMinimumDelayjitterBufferTargetDelaykeyFramesDecodedkeyFramesDecoded/slastPacketReceivedTimestamplastPacketSentTimestampLate WebRTC Internals captureLong connection timeLow echo cancellationmessagesReceivedmessagesReceived/smessagesSentmessagesSent/sMicrophone is inaudibleMicrophone is too loudminPlayoutDelaymosMultiple STUN serversnackCountnackCountNo audible incoming audioNo audio samples played outNo iceServers configuredNo IPv4 interfaceNo specific audio and video constraintsNo specific audio constraintsNo specific video constraintsNo TURN TLS/443No volume on incoming audioNo volume on outgoing audioPackets out of orderpacketsDiscardedpacketsDiscarded(%)packetsDiscarded/spacketsDiscardedOnSendpacketsLostpacketsLostpacketsLost(%)packetsLost(%)packetsLost/spacketsLost/spacketsReceivedpacketsReceivedpacketsReceivedpacketsReceived/spacketsReceived/spacketsReceivedWithCepacketsReceivedWithCepacketsReceivedWithEct1packetsReceivedWithEct1packetsReportedAsLostpacketsReportedAsLostpacketsReportedAsLostButRecoveredpacketsReportedAsLostButRecoveredpacketsSentpacketsSentpacketsSentpacketsSent/spacketsSent/spacketsSentWithEct1packetsSentWithEct1/spacketsWithBleachedEct1MarkingpauseCountpliCountpliCountPotential echo loopPotential local bufferbloatPrefer TURN candidates onlyPrivate TURN address publishedProtected mDNS addressqpSumqpSumqpSum/framesDecodedqpSum/framesEncodedqualityLimitationDurationsRedundant STUN serversremovedSamplesForAccelerationremovedSamplesForAcceleration/sreportsSentrequestsReceivedrequestsSentresponsesReceivedresponsesSentretransmittedBytesReceivedretransmittedBytesReceived(bits/s)retransmittedBytesSentretransmittedBytesSent(bits/s)retransmittedPacketsReceivedretransmittedPacketsSentretransmittedPacketsSent/sroundTripTime(ms)roundTripTime(ms)roundTripTimeMeasurementsroundTripTimeMeasurementssilentConcealedSamplessilentConcealedSamples/sSlow DTLS establishmentStalled streamSymmetric NATtargetBitratetargetEncodedBytesTargetToo many camera changesToo many enumerateDevices requestsToo many frames droppedToo many getUserMedia requestsToo many ICE handoversToo many ICE ServersToo many microphone changesToo many network interfacestotalAssemblyTimetotalAssemblyTime/framesAssembledFromMultiplePackets(ms)totalAudioEnergytotalAudioEnergytotalCorruptionProbabilitytotalDecodeTimetotalDecodeTime/framesDecoded(ms)totalEncodeTimetotalEncodeTime/framesEncoded(ms)totalFreezesDurationtotalInterFrameDelaytotalInterFrameDelay/framesDecoded(ms)totalInterruptionDurationtotalPacketSendDelaytotalPacketSendDelay/packetsSent(ms)totalPausesDurationtotalPlayoutDelaytotalPlayoutDelay/totalSamplesCount(ms)totalProcessingDelaytotalProcessingDelay/jitterBufferEmittedCount(ms)totalRoundTripTimetotalRoundTripTimetotalRoundTripTimetotalRoundTripTime/responsesReceived(ms)totalRoundTripTime/roundTripTimeMeasurements(ms)totalRoundTripTime/roundTripTimeMeasurements(ms)totalSamplesCounttotalSamplesDurationtotalSamplesDurationtotalSamplesDurationtotalSamplesDuration/stotalSamplesReceivedtotalSamplesReceived/stotalSquaredCorruptionProbabilitytotalSquaredInterFrameDelayTURN Authentication ErrorTURN Client ErrorTURN configured but no TURN candidate gatheredTURN Other ErrorTURN Other ErrorTURN Server ErrorUDP blockedUnused Data ChannelUnused media streamUSB device usedVirtual device usedwidth