summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorten Sorvig <msorvig@trolltech.com>2009-08-14 06:20:26 +0200
committerMorten Sorvig <msorvig@trolltech.com>2009-08-14 06:20:26 +0200
commit621f81389662e0ce1fda91979265745d534eca27 (patch)
tree45a8d43fba2c29bb9f8a3350bd8ec12e78c5c32d
parent9d0e6ddb1f4b5433c97a2915a900500fe505982e (diff)
compute server uptime as well
-rw-r--r--src/webclientserver.cpp10
-rw-r--r--src/webclientserver.h1
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>&nbsp;</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();
};