diff options
| author | Dan Engelbrecht <[email protected]> | 2025-12-12 15:16:49 +0100 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2025-12-12 15:16:49 +0100 |
| commit | e6a9fd6408ff99eb5c7da0a315dd79814e528145 (patch) | |
| tree | 2b7c55793edf2869a50e69886bcae9f2e305ec81 /src/zenremotestore/include | |
| parent | add otel instrumentation (#581) (diff) | |
| download | zen-e6a9fd6408ff99eb5c7da0a315dd79814e528145.tar.xz zen-e6a9fd6408ff99eb5c7da0a315dd79814e528145.zip | |
show download source data (#689)
* show source stats for jupiter/cache
Diffstat (limited to 'src/zenremotestore/include')
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; |