diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2017-08-31T13·25+0200 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2017-08-31T13·25+0200 |
commit | fd73c1e20a7aaefcb69db3e6b2f081e1a5e20406 (patch) | |
tree | d3134fc81e2895e3e2837df6eb457efab28e3fea /src/libstore | |
parent | c2154d4c8422ddc1c201d503bb52edff854af2ad (diff) |
Add an activity for binary cache queries
Diffstat (limited to 'src/libstore')
-rw-r--r-- | src/libstore/binary-cache-store.cc | 7 | ||||
-rw-r--r-- | src/libstore/download.cc | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/libstore/binary-cache-store.cc b/src/libstore/binary-cache-store.cc index 403b4687287e..556fa3d59355 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 625e781b4528..054244c7b8b7 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()); |