summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Roloff <sascha.roloff@huawei.com>2023-12-12 12:40:32 +0100
committerSascha Roloff <sascha.roloff@huawei.com>2023-12-13 15:28:26 +0100
commitdad86d8da48f4bf0524379f3fe7db92e1f78afd9 (patch)
treec7ddd02de71628799a378b695610e6289197a7bb
parentd240b3b2d53bb476e742959fa25c3d8806e3800f (diff)
downloadjustbuild-dad86d8da48f4bf0524379f3fe7db92e1f78afd9.tar.gz
Add debug output for blob splitting
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
index 1ba7d7f1..ae6d6da1 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
@@ -16,6 +16,7 @@
#include <mutex>
#include <shared_mutex>
+#include <sstream>
#include <unordered_map>
#include "grpcpp/grpcpp.h"
@@ -79,8 +80,8 @@ namespace {
// Cached version of blob-split support request.
[[nodiscard]] auto BlobSplitSupportCached(
std::string const& instance_name,
- std::unique_ptr<bazel_re::ContentAddressableStorage::Stub> const&
- stub) noexcept -> bool {
+ std::unique_ptr<bazel_re::ContentAddressableStorage::Stub> const& stub,
+ Logger const* logger) noexcept -> bool {
static auto mutex = std::shared_mutex{};
static auto blob_split_support_map =
std::unordered_map<std::string, bool>{};
@@ -91,6 +92,10 @@ namespace {
}
}
auto supported = BlobSplitSupport(instance_name, stub);
+ logger->Emit(LogLevel::Debug,
+ "Blob split support for \"{}\": {}",
+ instance_name,
+ supported);
auto lock = std::unique_lock(mutex);
blob_split_support_map[instance_name] = supported;
return supported;
@@ -265,7 +270,7 @@ auto BazelCasClient::ReadSingleBlob(std::string const& instance_name,
auto BazelCasClient::SplitBlob(std::string const& instance_name,
bazel_re::Digest const& digest) noexcept
-> std::optional<std::vector<bazel_re::Digest>> {
- if (not BlobSplitSupportCached(instance_name, stub_)) {
+ if (not BlobSplitSupportCached(instance_name, stub_, &logger_)) {
return std::nullopt;
}
grpc::ClientContext context{};