Skip to main content

Call Inspector glossary

Unless otherwise specified, the term explanations on this page refer to Agora Analytics for all platforms and frameworks.

General concepts

Channel

Every audio or video call implemented by Agora SDKs happens in a channel. If an app is a building, a channel is a room in the building.

Call

When a user joins an empty channel, a call starts; when all users leave the channel, this call ends. A call is defined as the period between the first user joining a channel and the last user leaving the channel. Once a channel is empty, it can be used again for another call.

User

Each user in a call has a unique user ID (either uid or userId).

Sender/Host

A sender or host is a user who sends audio or video streams at any point during a call.

Receiver/Audience member

A receiver or audience member is a user who receives audio or video streams at any point during a call. A receiver can receive audio and video streams from multiple senders at the same time.

Audio freeze rate

Audio freezing occurs if audio rendering pauses for over 200 ms. The actual length of such a pause is called the audio freezing duration.

Audio freeze rate = (Sum of audio freezing duration per unit time / Total audio duration per unit time) × 100%.

A user’s audio freeze rate is different from a call’s audio freeze rate:

  • For a user, the total audio duration is the sum of the duration of all subscribed audio streams, that is, audio duration calculated by stream.
  • For a call, the total audio duration is the sum of each user’s total audio duration.

Video freeze rate

Video freezing occurs in the following situations:

  • Native: When video rendering pauses for over 600 ms.
  • Web: When video rendering pauses for over 500 ms

The actual length of such a pause is called video freezing duration.

Video freeze rate = (Sum of video freezing duration per unit time / Total video duration per unit time) × 100%.

A user’s video freeze rate is different from a call’s video freeze rate:

  • For a user, the total video duration is the sum of the duration of all subscribed video streams, that is, video duration calculated by stream.
  • For a call, the total video duration is the sum of each user’s total video duration.

Call-specific metrics

ACU (Accumulated Call Users)

ACU is the total number of users who have joined the call at some point.

PCU (Peak Concurrent Users)

PCU is the maximum number of concurrent users during the call.

Call duration

A call’s duration is the time from the start of a call until its end, that is, from the first user joining the channel to the last user leaving the channel.

User-specific metrics

Total duration

A user’s total duration is the time from when they first join a channel to when they finally leave it. If a user joins and leaves a channel multiple times during a call, the total duration does not reflect how long the user actually stays in the channel.

In-call duration

A user’s in-call duration is the actual time the user spends in the call. If a user joins and leaves a channel multiple times during a call, the in-call duration totals the length of each time period to reflect how long the user actually stays in the channel.

Bitrate

Bitrate is the amount of data (bits) sent or received per second.

A higher audio/video bitrate means higher audio/video quality. A low bitrate does not necessarily cause quality issues, but a very low bitrate often means poor audio/video quality.

Sender-side metric Receiver-side metric Description

Audio sending bitrate

Audio receiving bitrate

N/A

High-quality video stream sending bitrate

Native: High-quality video stream receiving bitrate

Web: Video receiving bitrate

Because a Web client only receives one video stream from each sender, there is no need to separate high-quality and low-quality streams for the video receiving bitrate. A Web client automatically switches to receiving the low-quality video stream when network conditions are poor.

Low-quality video stream sending bitrate

Native: Low-quality video stream receiving bitrate

Web: Video receiving bitrate

See High-quality video stream sending bitrate

Packet loss (rate)

Packet loss is the percentage of the data packets lost during data transmission.

On the sender side, packet loss measures the packets lost when sending the data; on the receiver side, packet loss measures the packets lost during data transmission from the sender to the receiver.

Slight packet loss usually does not affect user experience. High packet loss (over 5%) means the network quality is poor and might result in audio/video freezing and blurry video.

Sender-side metricReceiver-side metric
Audio upstream packet lossAudio end-to-end packet loss
Video upstream packet lossVideo end-to-end packet loss

Freeze time

Freeze time is any significant pause in audio or video reception.

Receiver-side metric Description

Audio rendering freeze time (Native only)

Audio rendering freezing occurs if it pauses for over 200 ms. A longer audio rendering freeze time means more significant audio freezing for the user.

Video rendering freeze time

Native: Video rendering freezing occurs if it pauses for over 600 ms when the sending frame rate exceeds 5 fps.

Web: Video rendering freezing occurs if it pauses for over 500 ms when the sending frame rate exceeds 2 fps. A longer video rendering freeze time means more significant video freezing for the user.

Frame rate

Frame rate is the rate at which consecutive images (frames) appear on a display.

A higher frame rate means smoother video but uses more bandwidth and CPU resources. A low frame rate might cause video freeze.

Sender-side metric Receiver-side metric Description

Video capture frame rate

N/A

N/A

High-quality video stream sending frame rate

Native: High-quality video stream receiving frame rate

Web: Video receiving frame rate

Because a Web client only receives one video stream from each sender, there is no need to separate high-quality and low-quality streams for the video receiving frame rate. A Web client automatically switches to receiving the low-quality video stream when network conditions are poor.

Low-quality video stream sending frame rate

Native: Low-quality video stream receiving frame rate

Web: Video receiving frame rate

See High-quality video stream sending frame rate

Resolution

Resolution is the number of pixels in the width and height of an image.

A higher resolution (higher number of pixels) means clearer video.

Sender-side metric Receiver-side metric Description

High-quality video stream sending resolution

Native: High-quality video stream receiving resolution

Web: Video receiving resolution

Because a Web client only receives one video stream from each sender, there is no need to separate high-quality and low-quality streams for the video receiving resolution. A Web client automatically switches to receiving the low-quality video stream when network conditions are poor.

Low-quality video stream receiving resolution (Web only)

Native: High-quality video stream receiving resolution

Web: Video receiving resolution

See High-quality video stream sending resolution

Audio signal strength

Audio signal strength is an indicator of volume. If the value of audio signal strength is lower than 80, you should pay special attention.

Sender-side metricReceiver-side metric
Audio capture signal strengthAudio playback signal strength

Network and device status

MetricDescription
Wi-Fi or LAN signal qualityWi-Fi or LAN signal quality is measured by the round-trip delay (milliseconds) from the client to the local router. If the delay is longer than 500 ms, you should pay special attention.
App CPU usageThe CPU usage (%) of the app. If the user’s device has poor performance, the app’s CPU usage might be high, causing audio and video freezing. This metric is not available when using an emulator or using Rosetta on an M1 Mac.
System CPU usageThe CPU usage (%) of the system. If the user’s device has poor performance, the system’s CPU usage might be high, causing audio and video freezing. This metric is not available when using an emulator or using Rosetta on an M1 Mac.
SDK task scheduling delaySDK task scheduling delay is the time interval (milliseconds) the SDK needs to schedule tasks for worker threads. This delay is an indirect indicator of the system’s performance. If the delay is longer than 80 ms, you should pay special attention.

Diagnosis checklist items

Call experience diagnosis

Diagnosis checklist itemsDescription
Video freezingThe user might experience significant video freezing. A typical reason is that the user’s device performance and network conditions are poor. You should check related metrics to locate the problem.
Blurry videoThe user might see blurry video. You should check the user’s video receiving resolution, device status, and network conditions.
No soundThe user continues to hear no sound. You should check events on the receiver side and audio sending statistics on the sender side to confirm this exception and locate the reason.
Audio freezingThe user might experience significant audio freezing. A typical reason is that the user’s device performance and network conditions are poor. You should check related metrics to locate the problem.

Host diagnosis

Diagnosis checklist itemsDescription
Video capture frame rate is lowThe video capture frame rate continues to be lower than 3 fps. This exception might cause video freezing and blur for the receiver.
Video output frame rate is lowThe frame rate of video encoding is low, possibly because the sender’s CPU usage or network packet loss is high. This exception might cause video freezing and blur for the receiver.
Audio sending stopsThe sender stops sending audio for a significant time period. You should check the user’s key events to validate. This exception might cause the receiver to continue to hear no sound.
Audio capture frequency is lowThis exception might cause audio freezing for the receiver.
Audio sender’s system is busyThe main thread of the audio sender’s system is busy. This exception might cause audio freezing for the receiver.
Audio sender’s network is poorPossible reasons include upstream network congestion, high packet loss, or poor Wi-Fi signal. This exception might cause audio freezing for the receiver.