add more processing stats

This commit is contained in:
Brad Hefta-Gaub 2015-10-15 12:21:36 -07:00
parent 93113af2d2
commit 923e1ed208
2 changed files with 29 additions and 5 deletions

View file

@ -54,11 +54,13 @@ OctreeStatsDialog::OctreeStatsDialog(QWidget* parent, NodeToOctreeSceneStats* mo
_localElementsMemory = AddStatItem("Elements Memory");
_sendingMode = AddStatItem("Sending Mode");
_processedPackets = AddStatItem("Entity Packets");
_processedPackets = AddStatItem("Incoming Entity Packets");
_processedPacketsElements = AddStatItem("Processed Packets Elements");
_processedPacketsEntities = AddStatItem("Processed Packets Entities");
_processedPacketsTiming = AddStatItem("Processed Packets Timing");
_outboundEditPackets = AddStatItem("Outbound Entity Packets");
_entityUpdateTime = AddStatItem("Entity Update Time");
_entityUpdates = AddStatItem("Entity Updates");
@ -266,6 +268,7 @@ void OctreeStatsDialog::paintEvent(QPaintEvent* event) {
label = _labels[_processedPackets];
const OctreePacketProcessor& entitiesPacketProcessor = qApp->getOctreePacketProcessor();
auto incomingPacketsDepth = entitiesPacketProcessor.packetsToProcessCount();
auto incomingPPS = entitiesPacketProcessor.getIncomingPPS();
auto processedPPS = entitiesPacketProcessor.getProcessedPPS();
auto treeProcessedPPS = entities->getAveragePacketsPerSecond();
@ -276,6 +279,7 @@ void OctreeStatsDialog::paintEvent(QPaintEvent* event) {
statsValue.str("");
statsValue <<
"Queue Size: " << incomingPacketsDepth << " Packets / " <<
"Network IN: " << qPrintable(incomingPPSString) << " PPS / " <<
"Queue OUT: " << qPrintable(processedPPSString) << " PPS / " <<
"Tree IN: " << qPrintable(treeProcessedPPSString) << " PPS";
@ -301,12 +305,31 @@ void OctreeStatsDialog::paintEvent(QPaintEvent* event) {
label = _labels[_processedPacketsTiming];
statsValue.str("");
statsValue <<
"Lock Wait:" << qPrintable(averageWaitLockPerPacketString) << " (usecs) / " <<
"Uncompress:" << qPrintable(averageUncompressPerPacketString) << " (usecs) / " <<
"Process:" << qPrintable(averageReadBitstreamPerPacketString) << " (usecs)";
"Lock Wait: " << qPrintable(averageWaitLockPerPacketString) << " (usecs) / " <<
"Uncompress: " << qPrintable(averageUncompressPerPacketString) << " (usecs) / " <<
"Process: " << qPrintable(averageReadBitstreamPerPacketString) << " (usecs)";
label->setText(statsValue.str().c_str());
auto entitiesEditPacketSender = qApp->getEntityEditPacketSender();
auto outboundPacketsDepth = entitiesEditPacketSender->packetsToSendCount();
auto outboundQueuedPPS = entitiesEditPacketSender->getLifetimePPSQueued();
auto outboundSentPPS = entitiesEditPacketSender->getLifetimePPS();
QString outboundQueuedPPSString = locale.toString(outboundQueuedPPS, 'f', FLOATING_POINT_PRECISION);
QString outboundSentPPSString = locale.toString(outboundSentPPS, 'f', FLOATING_POINT_PRECISION);
label = _labels[_outboundEditPackets];
statsValue.str("");
statsValue <<
"Queue Size: " << outboundPacketsDepth << " packets / " <<
"Queued IN: " << qPrintable(outboundQueuedPPSString) << " PPS / " <<
"Sent OUT: " << qPrintable(outboundSentPPSString) << " PPS";
label->setText(statsValue.str().c_str());
// Entity Edits update time
label = _labels[_entityUpdateTime];
auto averageEditDelta = entitiesTree->getAverageEditDeltas();

View file

@ -70,10 +70,11 @@ private:
int _processedPacketsElements;
int _processedPacketsEntities;
int _processedPacketsTiming;
int _outboundEditPackets;
const int SAMPLES_PER_SECOND = 10;
SimpleMovingAverage _averageUpdatesPerSecond;
quint64 _lastWindowAt = 0;
quint64 _lastWindowAt = usecTimestampNow();
quint64 _lastKnownTrackedEdits = 0;
quint64 _lastRefresh = 0;