diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-04-18 15:35:36 +0200 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-04-19 10:08:29 +0200 |
commit | d3cb40119bf0ed78b92b73052b3b21320feb284c (patch) | |
tree | 6f0036e6486cff9bc2a85e1973ee25cc2291eb32 | |
parent | 481c89631440a7593e1fb353d6902e756ac1ce00 (diff) | |
download | justbuild-d3cb40119bf0ed78b92b73052b3b21320feb284c.tar.gz |
Also for absent tragets, track progress by configured target
Commit f5f9be5bc07b16807aceac86fba9212e3889762a changed from
tracking progress by cache key to tracking by configured target;
however, the absent-target map was forgotten. Fix this while also
switching to the shortend export-target representation introduced
in the previous commit.
-rw-r--r-- | src/buildtool/build_engine/target_map/TARGETS | 2 | ||||
-rw-r--r-- | src/buildtool/build_engine/target_map/absent_target_map.cpp | 18 |
2 files changed, 14 insertions, 6 deletions
diff --git a/src/buildtool/build_engine/target_map/TARGETS b/src/buildtool/build_engine/target_map/TARGETS index 17b5b2df..3693049c 100644 --- a/src/buildtool/build_engine/target_map/TARGETS +++ b/src/buildtool/build_engine/target_map/TARGETS @@ -115,6 +115,8 @@ , ["src/buildtool/logging", "log_level"] , ["src/buildtool/logging", "logging"] , ["src/buildtool/serve_api/remote", "serve_api"] + , ["src/utils/cpp", "json"] + , ["@", "json", "", "json"] ] } } diff --git a/src/buildtool/build_engine/target_map/absent_target_map.cpp b/src/buildtool/build_engine/target_map/absent_target_map.cpp index 3110f863..ddc2a6ca 100644 --- a/src/buildtool/build_engine/target_map/absent_target_map.cpp +++ b/src/buildtool/build_engine/target_map/absent_target_map.cpp @@ -17,10 +17,12 @@ #include <unordered_set> #include <utility> // std::move +#include "nlohmann/json.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/logging/logger.hpp" #include "src/buildtool/serve_api/remote/serve_api.hpp" #include "src/buildtool/storage/target_cache_key.hpp" +#include "src/utils/cpp/json.hpp" #endif #ifndef BOOTSTRAP_BUILD_TOOL @@ -74,11 +76,15 @@ void WithFlexibleVariables( Storage::Instance().TargetCache().Read(*target_cache_key); bool from_just_serve = false; if (!target_cache_value) { - Logger::Log(LogLevel::Debug, - "Querying serve endpoint for absent export target {}", - key.target.ToString()); - exports_progress->TaskTracker().Start( - target_cache_key->Id().ToString()); + auto task = fmt::format("[{},{}]", + key.target.ToString(), + PruneJson(effective_config.ToJson()).dump()); + Logger::Log( + LogLevel::Debug, + "Querying serve endpoint for absent export target {} with key {}", + task, + key.target.ToString()); + exports_progress->TaskTracker().Start(task); auto res = ServeApi::ServeTarget(*target_cache_key, *repo_key); // process response from serve endpoint if (not res) { @@ -111,7 +117,7 @@ void WithFlexibleVariables( } // index == 2 target_cache_value = std::get<2>(*res); - exports_progress->TaskTracker().Stop(target_cache_key->Id().ToString()); + exports_progress->TaskTracker().Stop(task); from_just_serve = true; } |