diff options
author | Morten Sorvig <msorvig@trolltech.com> | 2009-08-14 06:20:26 +0200 |
---|---|---|
committer | Morten Sorvig <msorvig@trolltech.com> | 2009-08-14 06:20:26 +0200 |
commit | 621f81389662e0ce1fda91979265745d534eca27 (patch) | |
tree | 45a8d43fba2c29bb9f8a3350bd8ec12e78c5c32d | |
parent | 9d0e6ddb1f4b5433c97a2915a900500fe505982e (diff) |
compute server uptime as well
-rw-r--r-- | src/webclientserver.cpp | 10 | ||||
-rw-r--r-- | src/webclientserver.h | 1 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/webclientserver.cpp b/src/webclientserver.cpp index 5dd8ebb..e76b7ff 100644 --- a/src/webclientserver.cpp +++ b/src/webclientserver.cpp @@ -185,6 +185,7 @@ Server::Server(quint16 port) dynamicBytesWritten = 0; staticBytesWritten = 0; bytesRead = 0; + serverStart = QDateTime::currentDateTime(); totalSessions = 0; } @@ -233,7 +234,7 @@ void Server::dataOnSocket() bytesRead += line.count(); } -// DEBUG << lines; + DEBUG << lines; HttpRequest request(lines); @@ -336,11 +337,14 @@ void Server::dataOnSocket() QByteArray Server::createStatiticsPage() { const double ec2DataRate=0.02 / (1000 * 1000 * 1000) ; // cost per byte + const double ec2InstanceRate = 0.1; // cost per hour + const double upHours = (QDateTime::currentDateTime().toTime_t() - serverStart.toTime_t())/ (60 * 60); QByteArray stats; stats += "<b> Statistics </b><br><br>"; - stats += "Data transfers: <br>"; stats += "<table border=1>"; stats += "<tr> <td> </td> <th> Size </th> <th> AWS Cost </th> </tr>"; + stats += "<tr> <td>Uptime</td> <td>"+ QByteArray::number(upHours) + " Hours</td> <td>€" + + QByteArray::number(ceil(upHours) * ec2InstanceRate) + "</td> </tr>"; stats += "<tr> <td>Received</td> <td>"+ QByteArray::number(bytesRead / 1024) + " K</td> <td>€" + QByteArray::number(bytesRead * ec2DataRate) + "</td> </tr>"; stats += "<tr> <td>Sent (dynamic content)</td> <td>"+ QByteArray::number(dynamicBytesWritten / 1024) + " K</td> <td>€" + @@ -348,7 +352,7 @@ QByteArray Server::createStatiticsPage() stats += "<tr> <td>Sent (static content)</td> <td>"+ QByteArray::number(staticBytesWritten / 1024) + " K</td> <td>€" + QByteArray::number(staticBytesWritten * ec2DataRate) + "</td> </tr>"; stats += "<tr> <td>Grand Total</td> <td>"+ QByteArray::number((bytesRead + dynamicBytesWritten + staticBytesWritten) / 1024) + " K</td> <td>€" + - QByteArray::number((bytesRead + dynamicBytesWritten + staticBytesWritten) * ec2DataRate) + "</td> </tr>"; + QByteArray::number(upHours * ec2InstanceRate + (bytesRead + dynamicBytesWritten + staticBytesWritten) * ec2DataRate) + "</td> </tr>"; stats += "</table>"; diff --git a/src/webclientserver.h b/src/webclientserver.h index 1f231c9..ad9a0cf 100644 --- a/src/webclientserver.h +++ b/src/webclientserver.h @@ -112,6 +112,7 @@ private: int dynamicBytesWritten; int staticBytesWritten; int totalSessions; + QDateTime serverStart; QByteArray createStatiticsPage(); }; |