add new stats to OctreeServer

This commit is contained in:
ZappoMan 2014-03-14 00:42:23 -07:00
parent 2f13d1e30c
commit 8006719fda
2 changed files with 36 additions and 5 deletions

View file

@ -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");

View file

@ -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__