forked from lix-project/hydra
Keep track of time required to load builds
This commit is contained in:
parent
2feb17c681
commit
718fef29ef
|
@ -548,6 +548,8 @@ void State::dumpStatus(Connection & conn, bool log)
|
||||||
root.attr("bytesSent", bytesSent);
|
root.attr("bytesSent", bytesSent);
|
||||||
root.attr("bytesReceived", bytesReceived);
|
root.attr("bytesReceived", bytesReceived);
|
||||||
root.attr("nrBuildsRead", nrBuildsRead);
|
root.attr("nrBuildsRead", nrBuildsRead);
|
||||||
|
root.attr("buildReadTimeMs", buildReadTimeMs);
|
||||||
|
root.attr("buildReadTimeAvgMs", nrBuildsRead == 0 ? 0.0 : (float) buildReadTimeMs / nrBuildsRead);
|
||||||
root.attr("nrBuildsDone", nrBuildsDone);
|
root.attr("nrBuildsDone", nrBuildsDone);
|
||||||
root.attr("nrStepsStarted", nrStepsStarted);
|
root.attr("nrStepsStarted", nrStepsStarted);
|
||||||
root.attr("nrStepsDone", nrStepsDone);
|
root.attr("nrStepsDone", nrStepsDone);
|
||||||
|
|
|
@ -247,6 +247,8 @@ bool State::getQueuedBuilds(Connection & conn, ref<Store> localStore,
|
||||||
if (i == newBuildsByID.end()) continue;
|
if (i == newBuildsByID.end()) continue;
|
||||||
auto build = i->second;
|
auto build = i->second;
|
||||||
|
|
||||||
|
auto now1 = std::chrono::steady_clock::now();
|
||||||
|
|
||||||
newRunnable.clear();
|
newRunnable.clear();
|
||||||
nrAdded = 0;
|
nrAdded = 0;
|
||||||
try {
|
try {
|
||||||
|
@ -256,6 +258,10 @@ bool State::getQueuedBuilds(Connection & conn, ref<Store> localStore,
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto now2 = std::chrono::steady_clock::now();
|
||||||
|
|
||||||
|
buildReadTimeMs += std::chrono::duration_cast<std::chrono::milliseconds>(now2 - now1).count();
|
||||||
|
|
||||||
/* Add the new runnable build steps to ‘runnable’ and wake up
|
/* Add the new runnable build steps to ‘runnable’ and wake up
|
||||||
the builder threads. */
|
the builder threads. */
|
||||||
printMsg(lvlChatty, format("got %1% new runnable steps from %2% new builds") % newRunnable.size() % nrAdded);
|
printMsg(lvlChatty, format("got %1% new runnable steps from %2% new builds") % newRunnable.size() % nrAdded);
|
||||||
|
|
|
@ -294,6 +294,7 @@ private:
|
||||||
/* Various stats. */
|
/* Various stats. */
|
||||||
time_t startedAt;
|
time_t startedAt;
|
||||||
counter nrBuildsRead{0};
|
counter nrBuildsRead{0};
|
||||||
|
counter buildReadTimeMs{0};
|
||||||
counter nrBuildsDone{0};
|
counter nrBuildsDone{0};
|
||||||
counter nrStepsStarted{0};
|
counter nrStepsStarted{0};
|
||||||
counter nrStepsDone{0};
|
counter nrStepsDone{0};
|
||||||
|
|
Loading…
Reference in a new issue