Agora C++ API Reference for All Platforms

Public Member Functions | Public Attributes | List of all members
agora::rtc::RtcStats Struct Reference

## Public Member Functions
| RtcStats ()

## Public Attributes
unsigned int | duration
unsigned int | txBytes
unsigned int | rxBytes
unsigned int | txAudioBytes
unsigned int | txVideoBytes
unsigned int | rxAudioBytes
unsigned int | rxVideoBytes
unsigned short | txKBitRate
unsigned short | rxKBitRate
unsigned short | rxAudioKBitRate
unsigned short | txAudioKBitRate
unsigned short | rxVideoKBitRate
unsigned short | txVideoKBitRate
unsigned short | lastmileDelay
unsigned int | userCount
double | cpuAppUsage
double | cpuTotalUsage
int | gatewayRtt
double | memoryAppUsageRatio
double | memoryTotalUsageRatio
int | memoryAppUsageInKbytes
int | connectTimeMs
int | firstAudioPacketDuration
int | firstVideoPacketDuration
int | firstVideoKeyFramePacketDuration
int | packetsBeforeFirstKeyFramePacket
int | firstAudioPacketDurationAfterUnmute
int | firstVideoPacketDurationAfterUnmute
int | firstVideoKeyFramePacketDurationAfterUnmute
int | firstVideoKeyFrameDecodedDurationAfterUnmute
int | firstVideoKeyFrameRenderedDurationAfterUnmute
int | txPacketLossRate
int | rxPacketLossRate

## Detailed Description

The definition of the RtcStats struct.

## Constructor & Destructor Documentation

## ◆ RtcStats()

agora::rtc::RtcStats::RtcStats | ( |  | ) |
| inline

## Member Data Documentation

## ◆ duration

unsigned int agora::rtc::RtcStats::duration

The call duration (s), represented by an aggregate value.

## ◆ txBytes

unsigned int agora::rtc::RtcStats::txBytes

The total number of bytes transmitted, represented by an aggregate value.

## ◆ rxBytes

unsigned int agora::rtc::RtcStats::rxBytes

The total number of bytes received, represented by an aggregate value.

## ◆ txAudioBytes

unsigned int agora::rtc::RtcStats::txAudioBytes

The total number of audio bytes sent (bytes), represented by an aggregate value.

## ◆ txVideoBytes

unsigned int agora::rtc::RtcStats::txVideoBytes

The total number of video bytes sent (bytes), represented by an aggregate value.

## ◆ rxAudioBytes

unsigned int agora::rtc::RtcStats::rxAudioBytes

The total number of audio bytes received (bytes), represented by an aggregate value.

## ◆ rxVideoBytes

unsigned int agora::rtc::RtcStats::rxVideoBytes

The total number of video bytes received (bytes), represented by an aggregate value.

## ◆ txKBitRate

unsigned short agora::rtc::RtcStats::txKBitRate

The transmission bitrate (Kbps), represented by an instantaneous value.

## ◆ rxKBitRate

unsigned short agora::rtc::RtcStats::rxKBitRate

The receiving bitrate (Kbps), represented by an instantaneous value.

## ◆ rxAudioKBitRate

unsigned short agora::rtc::RtcStats::rxAudioKBitRate

Audio receiving bitrate (Kbps), represented by an instantaneous value.

## ◆ txAudioKBitRate

unsigned short agora::rtc::RtcStats::txAudioKBitRate

The audio transmission bitrate (Kbps), represented by an instantaneous value.

## ◆ rxVideoKBitRate

unsigned short agora::rtc::RtcStats::rxVideoKBitRate

The video receive bitrate (Kbps), represented by an instantaneous value.

## ◆ txVideoKBitRate

unsigned short agora::rtc::RtcStats::txVideoKBitRate

The video transmission bitrate (Kbps), represented by an instantaneous value.

## ◆ lastmileDelay

unsigned short agora::rtc::RtcStats::lastmileDelay

The VOS client-server latency (ms).

## ◆ userCount

unsigned int agora::rtc::RtcStats::userCount

The number of users in the channel.

## ◆ cpuAppUsage

double agora::rtc::RtcStats::cpuAppUsage

The app CPU usage (%).

Note
  - The value of `cpuAppUsage` is always reported as 0 in the `onLeaveChannel` callback.
  - As of Android 8.1, you cannot get the CPU usage from this attribute due to system limitations.

## ◆ cpuTotalUsage

double agora::rtc::RtcStats::cpuTotalUsage

The system CPU usage (%).

For Windows, in the multi-kernel environment, this member represents the average CPU usage. The value = (100 - System Idle Progress in Task Manager)/100.

Note
  - The value of `cpuTotalUsage` is always reported as 0 in the `onLeaveChannel` callback.
  - As of Android 8.1, you cannot get the CPU usage from this attribute due to system limitations.

## ◆ gatewayRtt

int agora::rtc::RtcStats::gatewayRtt

The round-trip time delay from the client to the local router.

Note
  On Android, to get `gatewayRtt`, ensure that you add the `android.permission.ACCESS_WIFI_STATE` permission after `</application>` in the `AndroidManifest.xml` file in your project.

## ◆ memoryAppUsageRatio

double agora::rtc::RtcStats::memoryAppUsageRatio

The memory usage ratio of the app (%).

Note
  This value is for reference only. Due to system limitations, you may not get this value.

## ◆ memoryTotalUsageRatio

double agora::rtc::RtcStats::memoryTotalUsageRatio

The memory usage ratio of the system (%).

Note
  This value is for reference only. Due to system limitations, you may not get this value.

## ◆ memoryAppUsageInKbytes

int agora::rtc::RtcStats::memoryAppUsageInKbytes

The memory usage of the app (KB).

Note
  This value is for reference only. Due to system limitations, you may not get this value.

## ◆ connectTimeMs

int agora::rtc::RtcStats::connectTimeMs

The time elapsed from the when the app starts connecting to an Agora channel to when the connection is established. 0 indicates that this member does not apply.

## ◆ firstAudioPacketDuration

int agora::rtc::RtcStats::firstAudioPacketDuration

The duration (ms) between the app starting connecting to an Agora channel and the first audio packet is received. 0 indicates that this member does not apply.

## ◆ firstVideoPacketDuration

int agora::rtc::RtcStats::firstVideoPacketDuration

The duration (ms) between the app starting connecting to an Agora channel and the first video packet is received. 0 indicates that this member does not apply.

## ◆ firstVideoKeyFramePacketDuration

int agora::rtc::RtcStats::firstVideoKeyFramePacketDuration

The duration (ms) between the app starting connecting to an Agora channel and the first video key frame is received. 0 indicates that this member does not apply.

## ◆ packetsBeforeFirstKeyFramePacket

int agora::rtc::RtcStats::packetsBeforeFirstKeyFramePacket

The number of video packets before the first video key frame is received. 0 indicates that this member does not apply.

## ◆ firstAudioPacketDurationAfterUnmute

int agora::rtc::RtcStats::firstAudioPacketDurationAfterUnmute

The duration (ms) between the last time unmute audio and the first audio packet is received. 0 indicates that this member does not apply.

## ◆ firstVideoPacketDurationAfterUnmute

int agora::rtc::RtcStats::firstVideoPacketDurationAfterUnmute

The duration (ms) between the last time unmute video and the first video packet is received. 0 indicates that this member does not apply.

## ◆ firstVideoKeyFramePacketDurationAfterUnmute

int agora::rtc::RtcStats::firstVideoKeyFramePacketDurationAfterUnmute

The duration (ms) between the last time unmute video and the first video key frame is received. 0 indicates that this member does not apply.

## ◆ firstVideoKeyFrameDecodedDurationAfterUnmute

int agora::rtc::RtcStats::firstVideoKeyFrameDecodedDurationAfterUnmute

The duration (ms) between the last time unmute video and the first video key frame is decoded. 0 indicates that this member does not apply.

## ◆ firstVideoKeyFrameRenderedDurationAfterUnmute

int agora::rtc::RtcStats::firstVideoKeyFrameRenderedDurationAfterUnmute

The duration (ms) between the last time unmute video and the first video key frame is rendered. 0 indicates that this member does not apply.

## ◆ txPacketLossRate

int agora::rtc::RtcStats::txPacketLossRate

The packet loss rate of sender(broadcaster).

## ◆ rxPacketLossRate

int agora::rtc::RtcStats::rxPacketLossRate

The packet loss rate of receiver(audience).