aboutsummaryrefslogtreecommitdiff
path: root/src/libstore
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2017-08-31 15:25:58 +0200
committerEelco Dolstra <edolstra@gmail.com>2017-08-31 15:25:58 +0200
commitfd73c1e20a7aaefcb69db3e6b2f081e1a5e20406 (patch)
treed3134fc81e2895e3e2837df6eb457efab28e3fea /src/libstore
parentc2154d4c8422ddc1c201d503bb52edff854af2ad (diff)
Add an activity for binary cache queries
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/binary-cache-store.cc7
-rw-r--r--src/libstore/download.cc2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/libstore/binary-cache-store.cc b/src/libstore/binary-cache-store.cc
index 403b46872..556fa3d59 100644
--- a/src/libstore/binary-cache-store.cc
+++ b/src/libstore/binary-cache-store.cc
@@ -313,6 +313,11 @@ void BinaryCacheStore::queryPathInfoUncached(const Path & storePath,
std::function<void(std::shared_ptr<ValidPathInfo>)> success,
std::function<void(std::exception_ptr exc)> failure)
{
+ auto uri = getUri();
+ auto act = std::make_shared<Activity>(*logger, lvlTalkative, actQueryPathInfo,
+ fmt("querying info about '%s' on '%s'", storePath, uri), Logger::Fields{storePath, uri});
+ PushActivity pact(act->id);
+
auto narInfoFile = narInfoFileFor(storePath);
getFile(narInfoFile,
@@ -323,6 +328,8 @@ void BinaryCacheStore::queryPathInfoUncached(const Path & storePath,
callSuccess(success, failure, (std::shared_ptr<ValidPathInfo>)
std::make_shared<NarInfo>(*this, *data, narInfoFile));
+
+ (void) act; // force Activity into this lambda to ensure it stays alive
},
failure);
}
diff --git a/src/libstore/download.cc b/src/libstore/download.cc
index 625e781b4..054244c7b 100644
--- a/src/libstore/download.cc
+++ b/src/libstore/download.cc
@@ -85,7 +85,7 @@ struct CurlDownloader : public Downloader
DownloadItem(CurlDownloader & downloader, const DownloadRequest & request)
: downloader(downloader)
, request(request)
- , act(*logger, lvlTalkative, actDownload, fmt("downloading '%s'", request.uri), {}, request.parentAct)
+ , act(*logger, lvlTalkative, actDownload, fmt("downloading '%s'", request.uri), {request.uri}, request.parentAct)
{
if (!request.expectedETag.empty())
requestHeaders = curl_slist_append(requestHeaders, ("If-None-Match: " + request.expectedETag).c_str());