mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-10 20:47:02 +02:00
stats working
This commit is contained in:
parent
446c888242
commit
0007104b6a
2 changed files with 17 additions and 10 deletions
|
@ -553,6 +553,7 @@ void AudioMixer::run() {
|
|||
sendAudioStreamStats = true;
|
||||
}
|
||||
|
||||
bool streamStatsPrinted = false;
|
||||
foreach (const SharedNodePointer& node, nodeList->getNodeHash()) {
|
||||
if (node->getLinkedData()) {
|
||||
AudioMixerClientData* nodeData = (AudioMixerClientData*)node->getLinkedData();
|
||||
|
@ -587,15 +588,21 @@ void AudioMixer::run() {
|
|||
// send an audio stream stats packet if it's time
|
||||
if (sendAudioStreamStats) {
|
||||
nodeData->sendAudioStreamStatsPackets(node);
|
||||
|
||||
printf("\nStats for agent %s\n:", node->getUUID().toString().toLatin1().data());
|
||||
nodeData->printUpstreamDownstreamStats();
|
||||
|
||||
if (_printStreamStats) {
|
||||
printf("\nStats for agent %s:\n", node->getUUID().toString().toLatin1().data());
|
||||
nodeData->printUpstreamDownstreamStats();
|
||||
streamStatsPrinted = true;
|
||||
}
|
||||
}
|
||||
|
||||
++_sumListeners;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (streamStatsPrinted) {
|
||||
printf("\n----------------------------------------------------------------\n");
|
||||
}
|
||||
|
||||
++_numStatFrames;
|
||||
|
||||
|
|
|
@ -268,40 +268,40 @@ QString AudioMixerClientData::getAudioStreamStatsString() const {
|
|||
void AudioMixerClientData::printUpstreamDownstreamStats() const {
|
||||
// print the upstream (mic stream) stats if the mic stream exists
|
||||
if (_audioStreams.contains(QUuid())) {
|
||||
printf(" Upstream:\n");
|
||||
printf("Upstream:\n");
|
||||
printAudioStreamStats(_audioStreams.value(QUuid())->getAudioStreamStats());
|
||||
}
|
||||
// print the downstream stats if they contain valid info
|
||||
if (_downstreamAudioStreamStats._packetStreamStats._received > 0) {
|
||||
printf(" Downstream:\n");
|
||||
printf("Downstream:\n");
|
||||
printAudioStreamStats(_downstreamAudioStreamStats);
|
||||
}
|
||||
}
|
||||
|
||||
void AudioMixerClientData::printAudioStreamStats(const AudioStreamStats& streamStats) const {
|
||||
printf(" Packet loss | overall: %5.2f%% (%d lost), last_30s: %5.2f%% (%d lost)",
|
||||
printf(" Packet loss | overall: %5.2f%% (%d lost), last_30s: %5.2f%% (%d lost)\n",
|
||||
streamStats._packetStreamStats.getLostRate() * 100.0f,
|
||||
streamStats._packetStreamStats._lost,
|
||||
streamStats._packetStreamWindowStats.getLostRate() * 100.0f,
|
||||
streamStats._packetStreamWindowStats._lost);
|
||||
|
||||
printf(" Ringbuffer frames | desired: %u, avg_available(10s): %u, available: %u",
|
||||
printf(" Ringbuffer frames | desired: %u, avg_available(10s): %u, available: %u\n",
|
||||
streamStats._desiredJitterBufferFrames,
|
||||
streamStats._framesAvailableAverage,
|
||||
streamStats._framesAvailable);
|
||||
|
||||
printf(" Ringbuffer stats | starves: %u, prev_starve_lasted: %u, frames_dropped: %u, overflows: %u",
|
||||
printf(" Ringbuffer stats | starves: %u, prev_starve_lasted: %u, frames_dropped: %u, overflows: %u\n",
|
||||
streamStats._starveCount,
|
||||
streamStats._consecutiveNotMixedCount,
|
||||
streamStats._framesDropped,
|
||||
streamStats._overflowCount);
|
||||
|
||||
printf(" Inter-packet timegaps (overall) | min: %9s, max: %9s, avg: %9s",
|
||||
printf(" Inter-packet timegaps (overall) | min: %9s, max: %9s, avg: %9s\n",
|
||||
formatUsecTime(streamStats._timeGapMin).toLatin1().data(),
|
||||
formatUsecTime(streamStats._timeGapMax).toLatin1().data(),
|
||||
formatUsecTime(streamStats._timeGapAverage).toLatin1().data());
|
||||
|
||||
printf(" Inter-packet timegaps (last 30s) | min: %9s, max: %9s, avg: %9s",
|
||||
printf(" Inter-packet timegaps (last 30s) | min: %9s, max: %9s, avg: %9s\n",
|
||||
formatUsecTime(streamStats._timeGapWindowMin).toLatin1().data(),
|
||||
formatUsecTime(streamStats._timeGapWindowMax).toLatin1().data(),
|
||||
formatUsecTime(streamStats._timeGapWindowAverage).toLatin1().data());
|
||||
|
|
Loading…
Reference in a new issue