diff options
| author | Stefan Boberg <[email protected]> | 2024-12-02 12:21:53 +0100 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2024-12-02 12:21:53 +0100 |
| commit | e6f44577f469e891ed8dab1492a4c53224e0b765 (patch) | |
| tree | 47334606ce62fb6bf1975cdc09276ced335599f4 /src/zenstore/blockstore.cpp | |
| parent | 5.5.15-pre0 (diff) | |
| download | zen-e6f44577f469e891ed8dab1492a4c53224e0b765.tar.xz zen-e6f44577f469e891ed8dab1492a4c53224e0b765.zip | |
added support for dynamic LLM tags (#245)
* added FLLMTag which can be used to register memory tags outside of core
* changed `UE_MEMSCOPE` -> `ZEN_MEMSCOPE` for consistency
* instrumented some subsystems with dynamic tags
Diffstat (limited to 'src/zenstore/blockstore.cpp')
| -rw-r--r-- | src/zenstore/blockstore.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/zenstore/blockstore.cpp b/src/zenstore/blockstore.cpp index 5f2f5cba0..9ad672060 100644 --- a/src/zenstore/blockstore.cpp +++ b/src/zenstore/blockstore.cpp @@ -26,10 +26,20 @@ ZEN_THIRD_PARTY_INCLUDES_END # include <random> #endif +#include <zencore/memory/llm.h> + ////////////////////////////////////////////////////////////////////////// namespace zen { +const FLLMTag& +GetBlocksTag() +{ + static FLLMTag _("blocks"); + + return _; +} + ////////////////////////////////////////////////////////////////////////// BlockStoreFile::BlockStoreFile(const std::filesystem::path& BlockPath) : m_Path(BlockPath) @@ -266,6 +276,7 @@ BlockStore::~BlockStore() void BlockStore::Initialize(const std::filesystem::path& BlocksBasePath, uint64_t MaxBlockSize, uint64_t MaxBlockCount) { + ZEN_MEMSCOPE(GetBlocksTag()); ZEN_TRACE_CPU("BlockStore::Initialize"); ZEN_ASSERT(MaxBlockSize > 0); @@ -332,6 +343,7 @@ BlockStore::Initialize(const std::filesystem::path& BlocksBasePath, uint64_t Max void BlockStore::SyncExistingBlocksOnDisk(const BlockIndexSet& KnownBlocks) { + ZEN_MEMSCOPE(GetBlocksTag()); ZEN_TRACE_CPU("BlockStore::SyncExistingBlocksOnDisk"); RwLock::ExclusiveLockScope InsertLock(m_InsertLock); @@ -378,6 +390,7 @@ BlockStore::SyncExistingBlocksOnDisk(const BlockIndexSet& KnownBlocks) BlockStore::BlockEntryCountMap BlockStore::GetBlocksToCompact(const BlockUsageMap& BlockUsage, uint32_t BlockUsageThresholdPercent) { + ZEN_MEMSCOPE(GetBlocksTag()); ZEN_TRACE_CPU("BlockStoreFile::GetBlocksToCompact"); BlockEntryCountMap Result; { @@ -507,6 +520,7 @@ BlockStore::GetFreeBlockIndex(uint32_t ProbeIndex, RwLock::ExclusiveLockScope&, void BlockStore::WriteChunk(const void* Data, uint64_t Size, uint32_t Alignment, const WriteChunkCallback& Callback) { + ZEN_MEMSCOPE(GetBlocksTag()); ZEN_TRACE_CPU("BlockStore::WriteChunk"); ZEN_ASSERT(Data != nullptr); @@ -565,6 +579,7 @@ BlockStore::WriteChunk(const void* Data, uint64_t Size, uint32_t Alignment, cons void BlockStore::WriteChunks(std::span<IoBuffer> Datas, uint32_t Alignment, const WriteChunksCallback& Callback) { + ZEN_MEMSCOPE(GetBlocksTag()); ZEN_TRACE_CPU("BlockStore::WriteChunks"); ZEN_ASSERT(!Datas.empty()); @@ -680,6 +695,7 @@ BlockStore::TryGetChunk(const BlockStoreLocation& Location) const void BlockStore::Flush(bool ForceNewBlock) { + ZEN_MEMSCOPE(GetBlocksTag()); ZEN_TRACE_CPU("BlockStore::Flush"); if (ForceNewBlock) @@ -710,6 +726,7 @@ BlockStore::IterateBlock(std::span<const BlockStoreLocation> ChunkLocations, const IterateChunksLargeSizeCallback& LargeSizeCallback, uint64_t LargeSizeLimit) { + ZEN_MEMSCOPE(GetBlocksTag()); ZEN_TRACE_CPU("BlockStore::IterateBlock"); if (InChunkIndexes.empty()) @@ -861,6 +878,7 @@ BlockStore::IterateBlock(std::span<const BlockStoreLocation> ChunkLocations, bool BlockStore::IterateChunks(const std::span<const BlockStoreLocation>& ChunkLocations, const IterateChunksCallback& Callback) { + ZEN_MEMSCOPE(GetBlocksTag()); ZEN_TRACE_CPU("BlockStore::IterateChunks"); Stopwatch Timer; @@ -914,6 +932,7 @@ BlockStore::CompactBlocks(const BlockStoreCompactState& CompactState, const ClaimDiskReserveCallback& DiskReserveCallback, std::string_view LogPrefix) { + ZEN_MEMSCOPE(GetBlocksTag()); ZEN_TRACE_CPU("BlockStore::CompactBlocks"); uint64_t DeletedSize = 0; |