From 8006719fda737e7f10ac35758ca04b2e9427755e Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Fri, 14 Mar 2014 00:42:23 -0700 Subject: [PATCH] add new stats to OctreeServer --- assignment-client/src/octree/OctreeServer.cpp | 29 +++++++++++++++---- assignment-client/src/octree/OctreeServer.h | 12 ++++++++ 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/assignment-client/src/octree/OctreeServer.cpp b/assignment-client/src/octree/OctreeServer.cpp index c31beb7831..6c9e5cf70c 100644 --- a/assignment-client/src/octree/OctreeServer.cpp +++ b/assignment-client/src/octree/OctreeServer.cpp @@ -20,10 +20,13 @@ OctreeServer* OctreeServer::_instance = NULL; int OctreeServer::_clientCount = 0; -SimpleMovingAverage OctreeServer::_averageLoopTime(10000); -SimpleMovingAverage OctreeServer::_averageEncodeTime(10000); -SimpleMovingAverage OctreeServer::_averageTreeWaitTime(10000); -SimpleMovingAverage OctreeServer::_averageNodeWaitTime(10000); +SimpleMovingAverage OctreeServer::_averageLoopTime(100000); +SimpleMovingAverage OctreeServer::_averageEncodeTime(100000); +SimpleMovingAverage OctreeServer::_averageInsideTime(100000); +SimpleMovingAverage OctreeServer::_averageTreeWaitTime(100000); +SimpleMovingAverage OctreeServer::_averageNodeWaitTime(100000); +SimpleMovingAverage OctreeServer::_averageCompressAndWriteTime(100000); +SimpleMovingAverage OctreeServer::_averagePacketSendingTime(100000); void OctreeServer::attachQueryNodeToNode(Node* newNode) { if (!newNode->getLinkedData()) { @@ -276,9 +279,20 @@ bool OctreeServer::handleHTTPRequest(HTTPConnection* connection, const QString& qDebug() << "averageLoopTime=" << averageLoopTime; float averageEncodeTime = getAverageEncodeTime(); - statsString += QString().sprintf(" Average encode time: %5.2f msecs\r\n", averageEncodeTime); + statsString += QString().sprintf(" Average encode time: %7.2f usecs\r\n", averageEncodeTime); qDebug() << "averageEncodeTime=" << averageEncodeTime; + float averageInsideTime = getAverageInsideTime(); + statsString += QString().sprintf(" Average 'inside' time: %7.2f usecs\r\n", averageInsideTime); + qDebug() << "averageInsideTime=" << averageInsideTime; + + float averageCompressAndWriteTime = getAverageCompressAndWriteTime(); + statsString += QString().sprintf(" Average compress and write time: %7.2f usecs\r\n", averageCompressAndWriteTime); + qDebug() << "averageCompressAndWriteTime=" << averageCompressAndWriteTime; + + float averagePacketSendingTime = getAveragePacketSendingTime(); + statsString += QString().sprintf(" Average packet sending time: %7.2f usecs\r\n", averagePacketSendingTime); + qDebug() << "averagePacketSendingTime=" << averagePacketSendingTime; float averageTreeWaitTime = getAverageTreeWaitTime(); statsString += QString().sprintf(" Average tree lock wait time: %7.2f usecs\r\n", averageTreeWaitTime); @@ -288,6 +302,11 @@ bool OctreeServer::handleHTTPRequest(HTTPConnection* connection, const QString& statsString += QString().sprintf(" Average node lock wait time: %7.2f usecs\r\n", averageNodeWaitTime); qDebug() << "averageNodeWaitTime=" << averageNodeWaitTime; + float encodeToInsidePercent = (averageEncodeTime / averageInsideTime) * AS_PERCENT; + statsString += QString().sprintf(" Percent 'inside' time is encode: %5.2f%%\r\n", encodeToInsidePercent); + qDebug() << "averageInsideTime=" << averageInsideTime; + + statsString += QString("\r\n"); diff --git a/assignment-client/src/octree/OctreeServer.h b/assignment-client/src/octree/OctreeServer.h index 94dcf18dc8..022da9d658 100644 --- a/assignment-client/src/octree/OctreeServer.h +++ b/assignment-client/src/octree/OctreeServer.h @@ -80,11 +80,20 @@ public: static void trackEncodeTime(float time) { _averageEncodeTime.updateAverage(time); } static float getAverageEncodeTime() { return _averageEncodeTime.getAverage(); } + static void trackInsideTime(float time) { _averageInsideTime.updateAverage(time); } + static float getAverageInsideTime() { return _averageInsideTime.getAverage(); } + static void trackTreeWaitTime(float time) { _averageTreeWaitTime.updateAverage(time); } static float getAverageTreeWaitTime() { return _averageTreeWaitTime.getAverage(); } static void trackNodeWaitTime(float time) { _averageNodeWaitTime.updateAverage(time); } static float getAverageNodeWaitTime() { return _averageNodeWaitTime.getAverage(); } + static void trackCompressAndWriteTime(float time) { _averageCompressAndWriteTime.updateAverage(time); } + static float getAverageCompressAndWriteTime() { return _averageCompressAndWriteTime.getAverage(); } + + static void trackPacketSendingTime(float time) { _averagePacketSendingTime.updateAverage(time); } + static float getAveragePacketSendingTime() { return _averagePacketSendingTime.getAverage(); } + bool handleHTTPRequest(HTTPConnection* connection, const QString& path); public slots: /// runs the voxel server assignment @@ -124,8 +133,11 @@ protected: static int _clientCount; static SimpleMovingAverage _averageLoopTime; static SimpleMovingAverage _averageEncodeTime; + static SimpleMovingAverage _averageInsideTime; static SimpleMovingAverage _averageTreeWaitTime; static SimpleMovingAverage _averageNodeWaitTime; + static SimpleMovingAverage _averageCompressAndWriteTime; + static SimpleMovingAverage _averagePacketSendingTime; }; #endif // __octree_server__OctreeServer__