FRtcStats
- Unreal Blueprint
更新时间不可用
通话相关的统计信息。
USTRUCT(BlueprintType)
struct FRtcStats
{
GENERATED_BODY()
public:
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int64 duration = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int64 txBytes = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int64 rxBytes = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int64 txAudioBytes = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int64 txVideoBytes = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int64 rxAudioBytes = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int64 rxVideoBytes = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 txKBitRate = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 rxKBitRate = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 rxAudioKBitRate = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 txAudioKBitRate = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 rxVideoKBitRate = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 txVideoKBitRate = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 lastmileDelay = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int64 userCount = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
FString cpuAppUsage = "0";
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
FString cpuTotalUsage = "0";
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 gatewayRtt = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
FString memoryAppUsageRatio = "0";
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
FString memoryTotalUsageRatio = "0";
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 memoryAppUsageInKbytes = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 connectTimeMs = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 firstAudioPacketDuration = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 firstVideoPacketDuration = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 firstVideoKeyFramePacketDuration = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 packetsBeforeFirstKeyFramePacket = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 firstAudioPacketDurationAfterUnmute = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 firstVideoPacketDurationAfterUnmute = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 firstVideoKeyFramePacketDurationAfterUnmute = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 firstVideoKeyFrameDecodedDurationAfterUnmute = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 firstVideoKeyFrameRenderedDurationAfterUnmute = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 txPacketLossRate = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats")
int32 rxPacketLossRate = 0;
FRtcStats(){}
FRtcStats(const agora::rtc::RtcStats & AgoraData){
duration = AgoraData.duration;
txBytes = AgoraData.txBytes;
rxBytes = AgoraData.rxBytes;
txAudioBytes = AgoraData.txAudioBytes;
txVideoBytes = AgoraData.txVideoBytes;
rxAudioBytes = AgoraData.rxAudioBytes;
rxVideoBytes = AgoraData.rxVideoBytes;
txKBitRate = AgoraData.txKBitRate;
rxKBitRate = AgoraData.rxKBitRate;
rxAudioKBitRate = AgoraData.rxAudioKBitRate;
txAudioKBitRate = AgoraData.txAudioKBitRate;
rxVideoKBitRate = AgoraData.rxVideoKBitRate;
txVideoKBitRate = AgoraData.txVideoKBitRate;
lastmileDelay = AgoraData.lastmileDelay;
userCount = AgoraData.userCount;
SET_UABT_DOUBLE_TO_FSTRING(this->cpuAppUsage, AgoraData.cpuAppUsage);
SET_UABT_DOUBLE_TO_FSTRING(this->cpuTotalUsage, AgoraData.cpuTotalUsage);
gatewayRtt = AgoraData.gatewayRtt;
SET_UABT_DOUBLE_TO_FSTRING(this->memoryAppUsageRatio, AgoraData.memoryAppUsageRatio);
SET_UABT_DOUBLE_TO_FSTRING(this->memoryTotalUsageRatio, AgoraData.memoryTotalUsageRatio);
memoryAppUsageInKbytes = AgoraData.memoryAppUsageInKbytes;
connectTimeMs = AgoraData.connectTimeMs;
firstAudioPacketDuration = AgoraData.firstAudioPacketDuration;
firstVideoPacketDuration = AgoraData.firstVideoPacketDuration;
firstVideoKeyFramePacketDuration = AgoraData.firstVideoKeyFramePacketDuration;
packetsBeforeFirstKeyFramePacket = AgoraData.packetsBeforeFirstKeyFramePacket;
firstAudioPacketDurationAfterUnmute = AgoraData.firstAudioPacketDurationAfterUnmute;
firstVideoPacketDurationAfterUnmute = AgoraData.firstVideoPacketDurationAfterUnmute;
firstVideoKeyFramePacketDurationAfterUnmute = AgoraData.firstVideoKeyFramePacketDurationAfterUnmute;
firstVideoKeyFrameDecodedDurationAfterUnmute = AgoraData.firstVideoKeyFrameDecodedDurationAfterUnmute;
firstVideoKeyFrameRenderedDurationAfterUnmute = AgoraData.firstVideoKeyFrameRenderedDurationAfterUnmute;
txPacketLossRate = AgoraData.txPacketLossRate;
rxPacketLossRate = AgoraData.rxPacketLossRate;
}
agora::rtc::RtcStats CreateAgoraData(){
agora::rtc::RtcStats AgoraData;
AgoraData.duration = duration;
AgoraData.txBytes = txBytes;
AgoraData.rxBytes = rxBytes;
AgoraData.txAudioBytes = txAudioBytes;
AgoraData.txVideoBytes = txVideoBytes;
AgoraData.rxAudioBytes = rxAudioBytes;
AgoraData.rxVideoBytes = rxVideoBytes;
AgoraData.txKBitRate = txKBitRate;
AgoraData.rxKBitRate = rxKBitRate;
AgoraData.rxAudioKBitRate = rxAudioKBitRate;
AgoraData.txAudioKBitRate = txAudioKBitRate;
AgoraData.rxVideoKBitRate = rxVideoKBitRate;
AgoraData.txVideoKBitRate = txVideoKBitRate;
AgoraData.lastmileDelay = lastmileDelay;
AgoraData.userCount = userCount;
SET_UABT_FSTRING_TO_DOUBLE(AgoraData.cpuAppUsage, this->cpuAppUsage);
SET_UABT_FSTRING_TO_DOUBLE(AgoraData.cpuTotalUsage, this->cpuTotalUsage);
AgoraData.gatewayRtt = gatewayRtt;
SET_UABT_FSTRING_TO_DOUBLE(AgoraData.memoryAppUsageRatio, this->memoryAppUsageRatio);
SET_UABT_FSTRING_TO_DOUBLE(AgoraData.memoryTotalUsageRatio, this->memoryTotalUsageRatio);
AgoraData.memoryAppUsageInKbytes = memoryAppUsageInKbytes;
AgoraData.connectTimeMs = connectTimeMs;
AgoraData.firstAudioPacketDuration = firstAudioPacketDuration;
AgoraData.firstVideoPacketDuration = firstVideoPacketDuration;
AgoraData.firstVideoKeyFramePacketDuration = firstVideoKeyFramePacketDuration;
AgoraData.packetsBeforeFirstKeyFramePacket = packetsBeforeFirstKeyFramePacket;
AgoraData.firstAudioPacketDurationAfterUnmute = firstAudioPacketDurationAfterUnmute;
AgoraData.firstVideoPacketDurationAfterUnmute = firstVideoPacketDurationAfterUnmute;
AgoraData.firstVideoKeyFramePacketDurationAfterUnmute = firstVideoKeyFramePacketDurationAfterUnmute;
AgoraData.firstVideoKeyFrameDecodedDurationAfterUnmute = firstVideoKeyFrameDecodedDurationAfterUnmute;
AgoraData.firstVideoKeyFrameRenderedDurationAfterUnmute = firstVideoKeyFrameRenderedDurationAfterUnmute;
AgoraData.txPacketLossRate = txPacketLossRate;
AgoraData.rxPacketLossRate = rxPacketLossRate;
return AgoraData;
}
void FreeAgoraData(agora::rtc::RtcStats & AgoraData) const {
}
};属性
| 参数名 | 描述 |
|---|---|
duration | |
txBytes | |
rxBytes | |
txAudioBytes | |
txVideoBytes | |
rxAudioBytes | |
rxVideoBytes | |
txKBitRate | |
rxKBitRate | |
rxAudioKBitRate | |
txAudioKBitRate | |
rxVideoKBitRate | |
txVideoKBitRate | |
lastmileDelay | |
txPacketLossRate | |
rxPacketLossRate | |
userCount | |
cpuAppUsage | 当前 App 的 CPU 使用率 (%)。 注意:
|
cpuTotalUsage | 当前系统的 CPU 使用率 (%)。 对于 Windows 平台,在多核环境中,该成员指多核 CPU 的平均使用率。 计算方式为 (100 - 任务管理中显示的系统空闲进程 CPU)/100。 注意:
|
connectTimeMs | |
gatewayRtt | |
memoryAppUsageRatio | |
memoryTotalUsageRatio | |
memoryAppUsageInKbytes |