diff options
-rw-r--r-- | src/buildtool/build_engine/target_map/TARGETS | 1 | ||||
-rw-r--r-- | src/buildtool/build_engine/target_map/result_map.hpp | 7 | ||||
-rw-r--r-- | src/buildtool/build_engine/target_map/target_map.cpp | 8 | ||||
-rw-r--r-- | src/buildtool/common/statistics.hpp | 6 |
4 files changed, 22 insertions, 0 deletions
diff --git a/src/buildtool/build_engine/target_map/TARGETS b/src/buildtool/build_engine/target_map/TARGETS index e57a8c3b..2b201fbf 100644 --- a/src/buildtool/build_engine/target_map/TARGETS +++ b/src/buildtool/build_engine/target_map/TARGETS @@ -46,6 +46,7 @@ , ["src/buildtool/build_engine/base_maps", "targets_file_map"] , ["src/buildtool/build_engine/expression", "expression"] , ["src/buildtool/execution_api/local", "local"] + , ["src/buildtool/logging", "logging"] , ["src/buildtool/multithreading", "async_map_consumer"] , ["src/utils/cpp", "hash_combine"] , ["src/utils/cpp", "path"] diff --git a/src/buildtool/build_engine/target_map/result_map.hpp b/src/buildtool/build_engine/target_map/result_map.hpp index ca55ee74..846a381e 100644 --- a/src/buildtool/build_engine/target_map/result_map.hpp +++ b/src/buildtool/build_engine/target_map/result_map.hpp @@ -16,6 +16,7 @@ #include "src/buildtool/build_engine/expression/expression.hpp" #include "src/buildtool/build_engine/target_map/configured_target.hpp" #include "src/buildtool/build_engine/target_map/target_cache.hpp" +#include "src/buildtool/common/statistics.hpp" #include "src/buildtool/common/tree.hpp" #include "src/buildtool/logging/logger.hpp" #include "src/buildtool/multithreading/task.hpp" @@ -252,6 +253,12 @@ class ResultTargetMap { }); result.actions.erase(lastaction, result.actions.end()); + int trees_traversed = Statistics::Instance().TreesAnalysedCounter(); + if (trees_traversed > 0) { + Logger::Log(LogLevel::Performance, + "Analysed {} non-known source trees", + trees_traversed); + } Logger::Log(LogLevel::Info, "Discovered {} actions, {} trees, {} blobs", result.actions.size(), diff --git a/src/buildtool/build_engine/target_map/target_map.cpp b/src/buildtool/build_engine/target_map/target_map.cpp index 66e1ec73..8005a032 100644 --- a/src/buildtool/build_engine/target_map/target_map.cpp +++ b/src/buildtool/build_engine/target_map/target_map.cpp @@ -16,6 +16,8 @@ #include "src/buildtool/build_engine/expression/function_map.hpp" #include "src/buildtool/build_engine/target_map/built_in_rules.hpp" #include "src/buildtool/build_engine/target_map/utils.hpp" +#include "src/buildtool/common/statistics.hpp" +#include "src/buildtool/logging/logger.hpp" #include "src/utils/cpp/path.hpp" #include "src/utils/cpp/vector.hpp" @@ -1342,6 +1344,12 @@ void TreeTarget( (*setter)(std::move(analysis_result)); return; } + Logger::Log(LogLevel::Debug, [&key]() { + return fmt::format( + "Source tree reference for non-known tree {}", + key.target.ToString()); + }); + Statistics::Instance().IncrementTreesAnalysedCounter(); using BuildMaps::Target::ConfiguredTarget; diff --git a/src/buildtool/common/statistics.hpp b/src/buildtool/common/statistics.hpp index e34ccd03..071fc199 100644 --- a/src/buildtool/common/statistics.hpp +++ b/src/buildtool/common/statistics.hpp @@ -18,6 +18,7 @@ class Statistics { num_actions_flaky_tainted_ = 0; num_rebuilt_actions_compared_ = 0; num_rebuilt_actions_missing_ = 0; + num_trees_analysed_ = 0; } void IncrementActionsQueuedCounter() noexcept { ++num_actions_queued_; } void IncrementActionsExecutedCounter() noexcept { ++num_actions_executed_; } @@ -37,6 +38,7 @@ class Statistics { void IncrementExportsNotEligibleCounter() noexcept { ++num_exports_not_eligible_; } + void IncrementTreesAnalysedCounter() noexcept { ++num_trees_analysed_; } [[nodiscard]] auto ActionsQueuedCounter() const noexcept -> int { return num_actions_queued_; } @@ -67,6 +69,9 @@ class Statistics { [[nodiscard]] auto ExportsNotEligibleCounter() const noexcept -> int { return num_exports_not_eligible_; } + [[nodiscard]] auto TreesAnalysedCounter() const noexcept -> int { + return num_trees_analysed_; + } private: std::atomic<int> num_actions_queued_{}; @@ -79,6 +84,7 @@ class Statistics { std::atomic<int> num_exports_cached_{}; std::atomic<int> num_exports_uncached_{}; std::atomic<int> num_exports_not_eligible_{}; + std::atomic<int> num_trees_analysed_{}; }; #endif // INCLUDED_SRC_BUILDTOOL_COMMON_STATISTICS_HPP |