mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-14 11:46:34 +02:00
track traversal time, rename entity server stat
This commit is contained in:
parent
a56c076149
commit
f7af581c71
4 changed files with 18 additions and 2 deletions
|
@ -142,12 +142,15 @@ void EntityTreeSendThread::traverseTreeAndSendContents(SharedNodePointer node, O
|
|||
}
|
||||
|
||||
if (!_traversal.finished()) {
|
||||
quint64 startTime = usecTimestampNow();
|
||||
|
||||
#ifdef DEBUG
|
||||
const uint64_t TIME_BUDGET = 400; // usec
|
||||
#else
|
||||
const uint64_t TIME_BUDGET = 200; // usec
|
||||
#endif
|
||||
_traversal.traverse(TIME_BUDGET);
|
||||
OctreeServer::trackTreeTraverseTime((float)(usecTimestampNow() - startTime));
|
||||
}
|
||||
|
||||
#ifndef SEND_SORTED_ENTITIES
|
||||
|
|
|
@ -60,6 +60,8 @@ int OctreeServer::_longTreeWait = 0;
|
|||
int OctreeServer::_shortTreeWait = 0;
|
||||
int OctreeServer::_noTreeWait = 0;
|
||||
|
||||
SimpleMovingAverage OctreeServer::_averageTreeTraverseTime(MOVING_AVERAGE_SAMPLE_COUNTS);
|
||||
|
||||
SimpleMovingAverage OctreeServer::_averageNodeWaitTime(MOVING_AVERAGE_SAMPLE_COUNTS);
|
||||
|
||||
SimpleMovingAverage OctreeServer::_averageCompressAndWriteTime(MOVING_AVERAGE_SAMPLE_COUNTS);
|
||||
|
@ -106,6 +108,8 @@ void OctreeServer::resetSendingStats() {
|
|||
_shortTreeWait = 0;
|
||||
_noTreeWait = 0;
|
||||
|
||||
_averageTreeTraverseTime.reset();
|
||||
|
||||
_averageNodeWaitTime.reset();
|
||||
|
||||
_averageCompressAndWriteTime.reset();
|
||||
|
@ -522,6 +526,10 @@ bool OctreeServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url
|
|||
(double)_averageTreeExtraLongWaitTime.getAverage(),
|
||||
(double)(extraLongVsTotal * AS_PERCENT), _extraLongTreeWait);
|
||||
|
||||
// traverse
|
||||
float averageTreeTraverseTime = getAverageTreeTraverseTime();
|
||||
statsString += QString().sprintf(" Average tree traverse time: %9.2f usecs\r\n", (double)averageTreeTraverseTime);
|
||||
|
||||
// encode
|
||||
float averageEncodeTime = getAverageEncodeTime();
|
||||
statsString += QString().sprintf(" Average encode time: %9.2f usecs\r\n", (double)averageEncodeTime);
|
||||
|
@ -1590,7 +1598,7 @@ void OctreeServer::sendStatsPacket() {
|
|||
QJsonObject timingArray1;
|
||||
timingArray1["1. avgLoopTime"] = getAverageLoopTime();
|
||||
timingArray1["2. avgInsideTime"] = getAverageInsideTime();
|
||||
timingArray1["3. avgTreeLockTime"] = getAverageTreeWaitTime();
|
||||
timingArray1["3. avgTreeTraverseTime"] = getAverageTreeTraverseTime();
|
||||
timingArray1["4. avgEncodeTime"] = getAverageEncodeTime();
|
||||
timingArray1["5. avgCompressAndWriteTime"] = getAverageCompressAndWriteTime();
|
||||
timingArray1["6. avgSendTime"] = getAveragePacketSendingTime();
|
||||
|
|
|
@ -96,6 +96,9 @@ public:
|
|||
static void trackTreeWaitTime(float time);
|
||||
static float getAverageTreeWaitTime() { return _averageTreeWaitTime.getAverage(); }
|
||||
|
||||
static void trackTreeTraverseTime(float time) { _averageTreeTraverseTime.updateAverage(time); }
|
||||
static float getAverageTreeTraverseTime() { return _averageTreeTraverseTime.getAverage(); }
|
||||
|
||||
static void trackNodeWaitTime(float time) { _averageNodeWaitTime.updateAverage(time); }
|
||||
static float getAverageNodeWaitTime() { return _averageNodeWaitTime.getAverage(); }
|
||||
|
||||
|
@ -228,6 +231,8 @@ protected:
|
|||
static int _shortTreeWait;
|
||||
static int _noTreeWait;
|
||||
|
||||
static SimpleMovingAverage _averageTreeTraverseTime;
|
||||
|
||||
static SimpleMovingAverage _averageNodeWaitTime;
|
||||
|
||||
static SimpleMovingAverage _averageCompressAndWriteTime;
|
||||
|
|
|
@ -208,7 +208,7 @@ Item {
|
|||
}
|
||||
StatText {
|
||||
visible: root.expanded;
|
||||
text: "Entity Mixer In: " + root.entityPacketsInKbps + " kbps";
|
||||
text: "Entity Servers In: " + root.entityPacketsInKbps + " kbps";
|
||||
}
|
||||
StatText {
|
||||
visible: root.expanded;
|
||||
|
|
Loading…
Reference in a new issue