aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/build.cc
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2016-12-07 16:09:38 +0100
committerEelco Dolstra <edolstra@gmail.com>2016-12-07 16:09:38 +0100
commitb07060688a298abe765bca4258de4c675b24a364 (patch)
tree7f44131fa022886fb78576443eba0a3b79d14b60 /src/libstore/build.cc
parentdadfddfa7cb5d523969bffd906b74099d6a88387 (diff)
Keep track of the exact build start/stop times
Diffstat (limited to 'src/libstore/build.cc')
-rw-r--r--src/libstore/build.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index 2bc167fee..8442f1f61 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -1347,6 +1347,7 @@ void DerivationGoal::tryToBuild()
case rpAccept:
/* Yes, it has started doing so. Wait until we get
EOF from the hook. */
+ result.startTime = time(0); // inexact
state = &DerivationGoal::buildDone;
return;
case rpPostpone:
@@ -1424,6 +1425,7 @@ void DerivationGoal::buildDone()
debug(format("builder process for ‘%1%’ finished") % drvPath);
result.timesBuilt++;
+ result.stopTime = time(0);
/* So the child is gone now. */
worker.childTerminated(this);
@@ -2108,6 +2110,8 @@ void DerivationGoal::startBuilder()
/* Create a pipe to get the output of the builder. */
builderOut.create();
+ result.startTime = time(0);
+
/* Fork a child to build the package. */
#if __linux__
if (useChroot) {