From d3cb40119bf0ed78b92b73052b3b21320feb284c Mon Sep 17 00:00:00 2001 From: Klaus Aehlig Date: Thu, 18 Apr 2024 15:35:36 +0200 Subject: 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. --- src/buildtool/build_engine/target_map/TARGETS | 2 ++ .../build_engine/target_map/absent_target_map.cpp | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) (limited to 'src') 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 #include // 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; } -- cgit v1.2.3