mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-25 20:35:17 +02:00
Merge pull request #9646 from zzmp/load/audio/packets-in
log full i/o stats
This commit is contained in:
commit
ed4f96eadd
3 changed files with 23 additions and 12 deletions
|
@ -577,7 +577,7 @@ SharedNodePointer LimitedNodeList::addOrUpdateNode(const QUuid& uuid, NodeType_t
|
||||||
|
|
||||||
if (it != _nodeHash.end()) {
|
if (it != _nodeHash.end()) {
|
||||||
SharedNodePointer& matchingNode = it->second;
|
SharedNodePointer& matchingNode = it->second;
|
||||||
|
|
||||||
matchingNode->setPublicSocket(publicSocket);
|
matchingNode->setPublicSocket(publicSocket);
|
||||||
matchingNode->setLocalSocket(localSocket);
|
matchingNode->setLocalSocket(localSocket);
|
||||||
matchingNode->setPermissions(permissions);
|
matchingNode->setPermissions(permissions);
|
||||||
|
@ -717,14 +717,20 @@ SharedNodePointer LimitedNodeList::soloNodeOfType(NodeType_t nodeType) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void LimitedNodeList::getPacketStats(float& packetsPerSecond, float& bytesPerSecond) {
|
void LimitedNodeList::getPacketStats(float& packetsInPerSecond, float& bytesInPerSecond, float& packetsOutPerSecond, float& bytesOutPerSecond) {
|
||||||
packetsPerSecond = (float) _numCollectedPackets / ((float) _packetStatTimer.elapsed() / 1000.0f);
|
packetsInPerSecond = (float) getPacketReceiver().getInPacketCount() / ((float) _packetStatTimer.elapsed() / 1000.0f);
|
||||||
bytesPerSecond = (float) _numCollectedBytes / ((float) _packetStatTimer.elapsed() / 1000.0f);
|
bytesInPerSecond = (float) getPacketReceiver().getInByteCount() / ((float) _packetStatTimer.elapsed() / 1000.0f);
|
||||||
|
|
||||||
|
packetsOutPerSecond = (float) _numCollectedPackets / ((float) _packetStatTimer.elapsed() / 1000.0f);
|
||||||
|
bytesOutPerSecond = (float) _numCollectedBytes / ((float) _packetStatTimer.elapsed() / 1000.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LimitedNodeList::resetPacketStats() {
|
void LimitedNodeList::resetPacketStats() {
|
||||||
|
getPacketReceiver().resetCounters();
|
||||||
|
|
||||||
_numCollectedPackets = 0;
|
_numCollectedPackets = 0;
|
||||||
_numCollectedBytes = 0;
|
_numCollectedBytes = 0;
|
||||||
|
|
||||||
_packetStatTimer.restart();
|
_packetStatTimer.restart();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -161,7 +161,7 @@ public:
|
||||||
unsigned int broadcastToNodes(std::unique_ptr<NLPacket> packet, const NodeSet& destinationNodeTypes);
|
unsigned int broadcastToNodes(std::unique_ptr<NLPacket> packet, const NodeSet& destinationNodeTypes);
|
||||||
SharedNodePointer soloNodeOfType(NodeType_t nodeType);
|
SharedNodePointer soloNodeOfType(NodeType_t nodeType);
|
||||||
|
|
||||||
void getPacketStats(float &packetsPerSecond, float &bytesPerSecond);
|
void getPacketStats(float& packetsInPerSecond, float& bytesInPerSecond, float& packetsOutPerSecond, float& bytesOutPerSecond);
|
||||||
void resetPacketStats();
|
void resetPacketStats();
|
||||||
|
|
||||||
std::unique_ptr<NLPacket> constructPingPacket(PingType_t pingType = PingType::Agnostic);
|
std::unique_ptr<NLPacket> constructPingPacket(PingType_t pingType = PingType::Agnostic);
|
||||||
|
|
|
@ -45,9 +45,9 @@ void ThreadedAssignment::setFinished(bool isFinished) {
|
||||||
if (_isFinished) {
|
if (_isFinished) {
|
||||||
|
|
||||||
qCDebug(networking) << "ThreadedAssignment::setFinished(true) called - finishing up.";
|
qCDebug(networking) << "ThreadedAssignment::setFinished(true) called - finishing up.";
|
||||||
|
|
||||||
auto nodeList = DependencyManager::get<NodeList>();
|
auto nodeList = DependencyManager::get<NodeList>();
|
||||||
|
|
||||||
auto& packetReceiver = nodeList->getPacketReceiver();
|
auto& packetReceiver = nodeList->getPacketReceiver();
|
||||||
|
|
||||||
// we should de-register immediately for any of our packets
|
// we should de-register immediately for any of our packets
|
||||||
|
@ -55,7 +55,7 @@ void ThreadedAssignment::setFinished(bool isFinished) {
|
||||||
|
|
||||||
// we should also tell the packet receiver to drop packets while we're cleaning up
|
// we should also tell the packet receiver to drop packets while we're cleaning up
|
||||||
packetReceiver.setShouldDropPackets(true);
|
packetReceiver.setShouldDropPackets(true);
|
||||||
|
|
||||||
// send a disconnect packet to the domain
|
// send a disconnect packet to the domain
|
||||||
nodeList->getDomainHandler().disconnect();
|
nodeList->getDomainHandler().disconnect();
|
||||||
|
|
||||||
|
@ -92,12 +92,17 @@ void ThreadedAssignment::commonInit(const QString& targetName, NodeType_t nodeTy
|
||||||
void ThreadedAssignment::addPacketStatsAndSendStatsPacket(QJsonObject statsObject) {
|
void ThreadedAssignment::addPacketStatsAndSendStatsPacket(QJsonObject statsObject) {
|
||||||
auto nodeList = DependencyManager::get<NodeList>();
|
auto nodeList = DependencyManager::get<NodeList>();
|
||||||
|
|
||||||
float packetsPerSecond, bytesPerSecond;
|
float packetsInPerSecond, bytesInPerSecond, packetsOutPerSecond, bytesOutPerSecond;
|
||||||
nodeList->getPacketStats(packetsPerSecond, bytesPerSecond);
|
nodeList->getPacketStats(packetsInPerSecond, bytesInPerSecond, packetsOutPerSecond, bytesOutPerSecond);
|
||||||
nodeList->resetPacketStats();
|
nodeList->resetPacketStats();
|
||||||
|
|
||||||
statsObject["packets_per_second"] = packetsPerSecond;
|
QJsonObject ioStats;
|
||||||
statsObject["bytes_per_second"] = bytesPerSecond;
|
ioStats["inbound_bytes_per_s"] = bytesInPerSecond;
|
||||||
|
ioStats["inbound_packets_per_s"] = packetsInPerSecond;
|
||||||
|
ioStats["outbound_bytes_per_s"] = bytesOutPerSecond;
|
||||||
|
ioStats["outbound_packets_per_s"] = packetsOutPerSecond;
|
||||||
|
|
||||||
|
statsObject["io_stats"] = ioStats;
|
||||||
|
|
||||||
nodeList->sendStatsToDomainServer(statsObject);
|
nodeList->sendStatsToDomainServer(statsObject);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue