make SKIP_TIME work as intended

This commit is contained in:
Andrew Meadows 2017-08-23 14:04:30 -07:00
parent aee35b751e
commit 4be119b729
2 changed files with 55 additions and 42 deletions

View file

@ -37,6 +37,8 @@
int OctreeServer::_clientCount = 0; int OctreeServer::_clientCount = 0;
const int MOVING_AVERAGE_SAMPLE_COUNTS = 1000000; const int MOVING_AVERAGE_SAMPLE_COUNTS = 1000000;
float OctreeServer::SKIP_TIME = -1.0f; // use this for trackXXXTime() calls for non-times
SimpleMovingAverage OctreeServer::_averageLoopTime(MOVING_AVERAGE_SAMPLE_COUNTS); SimpleMovingAverage OctreeServer::_averageLoopTime(MOVING_AVERAGE_SAMPLE_COUNTS);
SimpleMovingAverage OctreeServer::_averageInsideTime(MOVING_AVERAGE_SAMPLE_COUNTS); SimpleMovingAverage OctreeServer::_averageInsideTime(MOVING_AVERAGE_SAMPLE_COUNTS);
@ -132,81 +134,90 @@ void OctreeServer::trackEncodeTime(float time) {
const float MAX_SHORT_TIME = 10.0f; const float MAX_SHORT_TIME = 10.0f;
const float MAX_LONG_TIME = 100.0f; const float MAX_LONG_TIME = 100.0f;
if (time == 0.0f) { if (time == SKIP_TIME) {
_noEncode++; _noEncode++;
} else if (time <= MAX_SHORT_TIME) {
_shortEncode++;
_averageShortEncodeTime.updateAverage(time);
} else if (time <= MAX_LONG_TIME) {
_longEncode++;
_averageLongEncodeTime.updateAverage(time);
} else { } else {
_extraLongEncode++; if (time <= MAX_SHORT_TIME) {
_averageExtraLongEncodeTime.updateAverage(time); _shortEncode++;
_averageShortEncodeTime.updateAverage(time);
} else if (time <= MAX_LONG_TIME) {
_longEncode++;
_averageLongEncodeTime.updateAverage(time);
} else {
_extraLongEncode++;
_averageExtraLongEncodeTime.updateAverage(time);
}
_averageEncodeTime.updateAverage(time);
} }
_averageEncodeTime.updateAverage(time);
} }
void OctreeServer::trackTreeWaitTime(float time) { void OctreeServer::trackTreeWaitTime(float time) {
const float MAX_SHORT_TIME = 10.0f; const float MAX_SHORT_TIME = 10.0f;
const float MAX_LONG_TIME = 100.0f; const float MAX_LONG_TIME = 100.0f;
if (time == 0.0f) { if (time == SKIP_TIME) {
_noTreeWait++; _noTreeWait++;
} else if (time <= MAX_SHORT_TIME) {
_shortTreeWait++;
_averageTreeShortWaitTime.updateAverage(time);
} else if (time <= MAX_LONG_TIME) {
_longTreeWait++;
_averageTreeLongWaitTime.updateAverage(time);
} else { } else {
_extraLongTreeWait++; if (time <= MAX_SHORT_TIME) {
_averageTreeExtraLongWaitTime.updateAverage(time); _shortTreeWait++;
_averageTreeShortWaitTime.updateAverage(time);
} else if (time <= MAX_LONG_TIME) {
_longTreeWait++;
_averageTreeLongWaitTime.updateAverage(time);
} else {
_extraLongTreeWait++;
_averageTreeExtraLongWaitTime.updateAverage(time);
}
_averageTreeWaitTime.updateAverage(time);
} }
_averageTreeWaitTime.updateAverage(time);
} }
void OctreeServer::trackCompressAndWriteTime(float time) { void OctreeServer::trackCompressAndWriteTime(float time) {
const float MAX_SHORT_TIME = 10.0f; const float MAX_SHORT_TIME = 10.0f;
const float MAX_LONG_TIME = 100.0f; const float MAX_LONG_TIME = 100.0f;
if (time == 0.0f) { if (time == SKIP_TIME) {
_noCompress++; _noCompress++;
} else if (time <= MAX_SHORT_TIME) {
_shortCompress++;
_averageShortCompressTime.updateAverage(time);
} else if (time <= MAX_LONG_TIME) {
_longCompress++;
_averageLongCompressTime.updateAverage(time);
} else { } else {
_extraLongCompress++; if (time <= MAX_SHORT_TIME) {
_averageExtraLongCompressTime.updateAverage(time); _shortCompress++;
_averageShortCompressTime.updateAverage(time);
} else if (time <= MAX_LONG_TIME) {
_longCompress++;
_averageLongCompressTime.updateAverage(time);
} else {
_extraLongCompress++;
_averageExtraLongCompressTime.updateAverage(time);
}
_averageCompressAndWriteTime.updateAverage(time);
} }
_averageCompressAndWriteTime.updateAverage(time);
} }
void OctreeServer::trackPacketSendingTime(float time) { void OctreeServer::trackPacketSendingTime(float time) {
if (time == 0.0f) { if (time == SKIP_TIME) {
_noSend++; _noSend++;
} else {
_averagePacketSendingTime.updateAverage(time);
} }
_averagePacketSendingTime.updateAverage(time);
} }
void OctreeServer::trackProcessWaitTime(float time) { void OctreeServer::trackProcessWaitTime(float time) {
const float MAX_SHORT_TIME = 10.0f; const float MAX_SHORT_TIME = 10.0f;
const float MAX_LONG_TIME = 100.0f; const float MAX_LONG_TIME = 100.0f;
if (time == 0.0f) { if (time == SKIP_TIME) {
_noProcessWait++; _noProcessWait++;
} else if (time <= MAX_SHORT_TIME) {
_shortProcessWait++;
_averageProcessShortWaitTime.updateAverage(time);
} else if (time <= MAX_LONG_TIME) {
_longProcessWait++;
_averageProcessLongWaitTime.updateAverage(time);
} else { } else {
_extraLongProcessWait++; if (time <= MAX_SHORT_TIME) {
_averageProcessExtraLongWaitTime.updateAverage(time); _shortProcessWait++;
_averageProcessShortWaitTime.updateAverage(time);
} else if (time <= MAX_LONG_TIME) {
_longProcessWait++;
_averageProcessLongWaitTime.updateAverage(time);
} else {
_extraLongProcessWait++;
_averageProcessExtraLongWaitTime.updateAverage(time);
}
_averageProcessWaitTime.updateAverage(time);
} }
_averageProcessWaitTime.updateAverage(time);
} }
OctreeServer::OctreeServer(ReceivedMessage& message) : OctreeServer::OctreeServer(ReceivedMessage& message) :

View file

@ -82,6 +82,8 @@ public:
virtual void trackSend(const QUuid& dataID, quint64 dataLastEdited, const QUuid& viewerNode) { } virtual void trackSend(const QUuid& dataID, quint64 dataLastEdited, const QUuid& viewerNode) { }
virtual void trackViewerGone(const QUuid& viewerNode) { } virtual void trackViewerGone(const QUuid& viewerNode) { }
static float SKIP_TIME; // use this for trackXXXTime() calls for non-times
static void trackLoopTime(float time) { _averageLoopTime.updateAverage(time); } static void trackLoopTime(float time) { _averageLoopTime.updateAverage(time); }
static float getAverageLoopTime() { return _averageLoopTime.getAverage(); } static float getAverageLoopTime() { return _averageLoopTime.getAverage(); }