diff options
author | jasplin <qt-info@nokia.com> | 2010-04-29 10:19:49 +0200 |
---|---|---|
committer | jasplin <qt-info@nokia.com> | 2010-04-29 10:19:49 +0200 |
commit | 35ac562fe47e5a4a8e27856a7fed23175f7aad8b (patch) | |
tree | 09b2319fb5c50e43a0f7ceaef05f95e28f40c867 /src | |
parent | 5c31e4d684dcaf877ad9f3c9b5d6f6648298b6c9 (diff) |
Show timestamp neighbor distance stats for index.
Diffstat (limited to 'src')
-rw-r--r-- | src/bm/bmrequest.cpp | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/src/bm/bmrequest.cpp b/src/bm/bmrequest.cpp index 08aff2b..97c234f 100644 --- a/src/bm/bmrequest.cpp +++ b/src/bm/bmrequest.cpp @@ -5156,7 +5156,10 @@ void BMRequest_IndexGetValues::appendToFilterTable( const QStringList &filter, const QString &filterName, QString *reply) { reply->append( - QString("<tr><td>%1:</td><td><table style=\"border:0px; padding:0px\">\n").arg(filterName)); + QString( + "<tr><td style=\"text-align:right\">%1:</td><td>" + "<table style=\"border:0px; padding:0px\">\n") + .arg(filterName)); if (filter.isEmpty()) { reply->append("<tr><td style=\"border:0px; padding:0px; color:green\">any</td></tr>\n"); } else { @@ -5396,7 +5399,7 @@ void BMRequest_IndexGetValues::handleReply_HTML(const QStringList &args) const branchFilter.append(branchNodes.at(i).toElement().attributeNode("name").value()); - // Filters table ... + // 'Filters' table ... reply += "\n<br /><br />Filters:<table>\n"; appendToFilterTable(testCaseFilter, "Test case", &reply); appendToFilterTable(metricFilter, "Metric", &reply); @@ -5405,7 +5408,8 @@ void BMRequest_IndexGetValues::handleReply_HTML(const QStringList &args) const appendToFilterTable(branchFilter, "Branch", &reply); reply += "</table>"; - reply += "\n<br /><br />Result history statistics:<table>\n"; + // 'Number of contributors' table ... + reply += "\n<br /><br />Number of contributors:<table style=\"text-align:right\">\n"; const int totalRH = argsElem.attributeNode("totalRH").value().toInt(&ok); Q_ASSERT(ok); reply += QString( @@ -5422,6 +5426,30 @@ void BMRequest_IndexGetValues::handleReply_HTML(const QStringList &args) const reply += QString("<tr><td>Final set:</td><td>%1</td></tr>\n").arg(finalTotalRH); reply += "</table>\n"; + // 'Timestamp neighbor distances' table ... + qreal distSecsSum = 0.0; + qreal minDistSecs = -1; + qreal maxDistSecs = -1; + for (int i = 1; i < timestamps.size(); ++i) { + const qreal distSecs = timestamps.at(i) - timestamps.at(i - 1); + distSecsSum += distSecs; + if (i == 1) { + minDistSecs = maxDistSecs = distSecs; + } else { + minDistSecs = qMin(minDistSecs, distSecs); + maxDistSecs = qMax(maxDistSecs, distSecs); + } + } + const qreal secsInDay = 86400.0; + reply += "\n<br /><br />Timestamp neighbor distances:<table style=\"text-align:right\">\n"; + reply += QString("<tr><td>Min days:</td><td>%1</td></tr>\n") + .arg((timestamps.size() < 2) ? "n/a" : QString().setNum(minDistSecs / secsInDay, 'f', 2)); + reply += QString("<tr><td>Avg days:</td><td>%1</td></tr>\n") + .arg((timestamps.size() < 2) + ? "n/a" : QString().setNum((distSecsSum / timestamps.size()) / secsInDay, 'f', 2)); + reply += QString("<tr><td>Max days:</td><td>%1</td></tr>\n") + .arg((timestamps.size() < 2) ? "n/a" : QString().setNum(maxDistSecs / secsInDay, 'f', 2)); + reply += "</table>\n"; // *** Values *** reply += "\n<br /><br /><table style=\"border: 0px\">\n"; |