mirror of
https://github.com/overte-org/overte.git
synced 2025-06-26 00:50:15 +02:00
cleanup stats packaging in AudioMixer
This commit is contained in:
parent
85a3b5597c
commit
77be0012cf
1 changed files with 8 additions and 51 deletions
|
@ -583,71 +583,28 @@ void AudioMixer::sendStatsPacket() {
|
||||||
statsObject["average_mixes_per_listener"] = 0.0;
|
statsObject["average_mixes_per_listener"] = 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ThreadedAssignment::addPacketStatsAndSendStatsPacket(statsObject);
|
|
||||||
_sumListeners = 0;
|
_sumListeners = 0;
|
||||||
_sumMixes = 0;
|
_sumMixes = 0;
|
||||||
_numStatFrames = 0;
|
_numStatFrames = 0;
|
||||||
|
|
||||||
|
statsObject["readPendingDatagram_calls_stats"] = getReadPendingDatagramsCallsPerSecondsStatsString();
|
||||||
// NOTE: These stats can be too large to fit in an MTU, so we break it up into multiple packts...
|
statsObject["readPendingDatagram_packets_per_call_stats"] = getReadPendingDatagramsPacketsPerCallStatsString();
|
||||||
QJsonObject statsObject2;
|
statsObject["readPendingDatagram_packets_time_per_call_stats"] = getReadPendingDatagramsTimeStatsString();
|
||||||
|
statsObject["readPendingDatagram_hashmatch_time_per_call_stats"] = getReadPendingDatagramsHashMatchTimeStatsString();
|
||||||
// add stats for each listerner
|
|
||||||
bool somethingToSend = false;
|
|
||||||
int sizeOfStats = 0;
|
|
||||||
int TOO_BIG_FOR_MTU = 1200; // some extra space for JSONification
|
|
||||||
|
|
||||||
QString property = "readPendingDatagram_calls_stats";
|
|
||||||
QString value = getReadPendingDatagramsCallsPerSecondsStatsString();
|
|
||||||
statsObject2[qPrintable(property)] = value;
|
|
||||||
somethingToSend = true;
|
|
||||||
sizeOfStats += property.size() + value.size();
|
|
||||||
|
|
||||||
property = "readPendingDatagram_packets_per_call_stats";
|
|
||||||
value = getReadPendingDatagramsPacketsPerCallStatsString();
|
|
||||||
statsObject2[qPrintable(property)] = value;
|
|
||||||
somethingToSend = true;
|
|
||||||
sizeOfStats += property.size() + value.size();
|
|
||||||
|
|
||||||
property = "readPendingDatagram_packets_time_per_call_stats";
|
|
||||||
value = getReadPendingDatagramsTimeStatsString();
|
|
||||||
statsObject2[qPrintable(property)] = value;
|
|
||||||
somethingToSend = true;
|
|
||||||
sizeOfStats += property.size() + value.size();
|
|
||||||
|
|
||||||
property = "readPendingDatagram_hashmatch_time_per_call_stats";
|
|
||||||
value = getReadPendingDatagramsHashMatchTimeStatsString();
|
|
||||||
statsObject2[qPrintable(property)] = value;
|
|
||||||
somethingToSend = true;
|
|
||||||
sizeOfStats += property.size() + value.size();
|
|
||||||
|
|
||||||
auto nodeList = DependencyManager::get<NodeList>();
|
auto nodeList = DependencyManager::get<NodeList>();
|
||||||
int clientNumber = 0;
|
int clientNumber = 0;
|
||||||
|
|
||||||
|
// add stats for each listerner
|
||||||
nodeList->eachNode([&](const SharedNodePointer& node) {
|
nodeList->eachNode([&](const SharedNodePointer& node) {
|
||||||
// if we're too large, send the packet
|
|
||||||
if (sizeOfStats > TOO_BIG_FOR_MTU) {
|
|
||||||
nodeList->sendStatsToDomainServer(statsObject2);
|
|
||||||
sizeOfStats = 0;
|
|
||||||
statsObject2 = QJsonObject(); // clear it
|
|
||||||
somethingToSend = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
clientNumber++;
|
clientNumber++;
|
||||||
AudioMixerClientData* clientData = static_cast<AudioMixerClientData*>(node->getLinkedData());
|
AudioMixerClientData* clientData = static_cast<AudioMixerClientData*>(node->getLinkedData());
|
||||||
if (clientData) {
|
if (clientData) {
|
||||||
QString property = "jitterStats." + node->getUUID().toString();
|
statsObject["jitterStats." + node->getUUID().toString()] = clientData->getAudioStreamStatsString();
|
||||||
QString value = clientData->getAudioStreamStatsString();
|
|
||||||
statsObject2[qPrintable(property)] = value;
|
|
||||||
somethingToSend = true;
|
|
||||||
sizeOfStats += property.size() + value.size();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (somethingToSend) {
|
ThreadedAssignment::addPacketStatsAndSendStatsPacket(statsObject);
|
||||||
nodeList->sendStatsToDomainServer(statsObject2);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioMixer::run() {
|
void AudioMixer::run() {
|
||||||
|
|
Loading…
Reference in a new issue