aboutsummaryrefslogtreecommitdiff
path: root/src/zenremotestore/include
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-12-12 15:16:49 +0100
committerGitHub Enterprise <[email protected]>2025-12-12 15:16:49 +0100
commite6a9fd6408ff99eb5c7da0a315dd79814e528145 (patch)
tree2b7c55793edf2869a50e69886bcae9f2e305ec81 /src/zenremotestore/include
parentadd otel instrumentation (#581) (diff)
downloadzen-e6a9fd6408ff99eb5c7da0a315dd79814e528145.tar.xz
zen-e6a9fd6408ff99eb5c7da0a315dd79814e528145.zip
show download source data (#689)
* show source stats for jupiter/cache
Diffstat (limited to 'src/zenremotestore/include')
-rw-r--r--src/zenremotestore/include/zenremotestore/builds/buildstorage.h7
-rw-r--r--src/zenremotestore/include/zenremotestore/jupiter/jupitersession.h1
-rw-r--r--src/zenremotestore/include/zenremotestore/projectstore/remoteprojectstore.h14
3 files changed, 20 insertions, 2 deletions
diff --git a/src/zenremotestore/include/zenremotestore/builds/buildstorage.h b/src/zenremotestore/include/zenremotestore/builds/buildstorage.h
index d4df979e2..4b7e54d85 100644
--- a/src/zenremotestore/include/zenremotestore/builds/buildstorage.h
+++ b/src/zenremotestore/include/zenremotestore/builds/buildstorage.h
@@ -26,6 +26,11 @@ public:
std::atomic<uint64_t> PeakBytesPerSec = 0;
};
+ struct ExtendedStatistics
+ {
+ tsl::robin_map<std::string, uint64_t> ReceivedBytesPerSource;
+ };
+
virtual ~BuildStorageBase() {}
virtual CbObject ListNamespaces(bool bRecursive = false) = 0;
@@ -63,6 +68,8 @@ public:
virtual CbObject GetBlockMetadatas(const Oid& BuildId, std::span<const IoHash> BlockHashes) = 0;
virtual void PutBuildPartStats(const Oid& BuildId, const Oid& BuildPartId, const tsl::robin_map<std::string, double>& FloatStats) = 0;
+
+ [[nodiscard]] virtual bool GetExtendedStatistics(ExtendedStatistics& OutStats) = 0;
};
} // namespace zen
diff --git a/src/zenremotestore/include/zenremotestore/jupiter/jupitersession.h b/src/zenremotestore/include/zenremotestore/jupiter/jupitersession.h
index b79790f25..1945f6cff 100644
--- a/src/zenremotestore/include/zenremotestore/jupiter/jupitersession.h
+++ b/src/zenremotestore/include/zenremotestore/jupiter/jupitersession.h
@@ -20,6 +20,7 @@ struct JupiterResult
double ElapsedSeconds{};
int32_t ErrorCode{};
std::string Reason;
+ std::string Source;
bool Success = false;
};
diff --git a/src/zenremotestore/include/zenremotestore/projectstore/remoteprojectstore.h b/src/zenremotestore/include/zenremotestore/projectstore/remoteprojectstore.h
index de858f818..182b64609 100644
--- a/src/zenremotestore/include/zenremotestore/projectstore/remoteprojectstore.h
+++ b/src/zenremotestore/include/zenremotestore/projectstore/remoteprojectstore.h
@@ -9,6 +9,10 @@
#include <unordered_set>
+ZEN_THIRD_PARTY_INCLUDES_START
+#include <tsl/robin_map.h>
+ZEN_THIRD_PARTY_INCLUDES_END
+
namespace zen {
class CidStore;
@@ -89,11 +93,17 @@ public:
std::uint64_t m_PeakBytesPerSec;
};
+ struct ExtendedStats
+ {
+ tsl::robin_map<std::string, uint64_t> m_ReceivedBytesPerSource;
+ };
+
RemoteProjectStore();
virtual ~RemoteProjectStore();
- virtual RemoteStoreInfo GetInfo() const = 0;
- virtual Stats GetStats() const = 0;
+ virtual RemoteStoreInfo GetInfo() const = 0;
+ virtual Stats GetStats() const = 0;
+ virtual bool GetExtendedStats(ExtendedStats& OutStats) const = 0;
virtual CreateContainerResult CreateContainer() = 0;
virtual SaveResult SaveContainer(const IoBuffer& Payload) = 0;