aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/cache/cachedisklayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenserver/cache/cachedisklayer.cpp')
-rw-r--r--src/zenserver/cache/cachedisklayer.cpp46
1 files changed, 33 insertions, 13 deletions
diff --git a/src/zenserver/cache/cachedisklayer.cpp b/src/zenserver/cache/cachedisklayer.cpp
index 9d3935131..7adf07350 100644
--- a/src/zenserver/cache/cachedisklayer.cpp
+++ b/src/zenserver/cache/cachedisklayer.cpp
@@ -183,7 +183,7 @@ ZenCacheDiskLayer::CacheBucket::OpenOrCreate(std::filesystem::path BucketDir, bo
{
using namespace std::literals;
- ZEN_TRACE_CPU("Z$::Bucket::OpenOrCreate");
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::OpenOrCreate");
ZEN_LOG_SCOPE("opening cache bucket '{}'", BucketDir);
@@ -232,6 +232,8 @@ ZenCacheDiskLayer::CacheBucket::OpenOrCreate(std::filesystem::path BucketDir, bo
if (!IsNew)
{
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::OpenOrCreate::Manifest");
+
Stopwatch Timer;
const auto _ =
MakeGuard([&] { ZEN_INFO("read store manifest '{}' in {}", ManifestPath, NiceTimeSpanMs(Timer.GetElapsedTimeMs())); });
@@ -277,7 +279,7 @@ ZenCacheDiskLayer::CacheBucket::OpenOrCreate(std::filesystem::path BucketDir, bo
void
ZenCacheDiskLayer::CacheBucket::MakeIndexSnapshot()
{
- ZEN_TRACE_CPU("Z$::Bucket::MakeIndexSnapshot");
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::MakeIndexSnapshot");
uint64_t LogCount = m_SlogFile.GetLogCount();
if (m_LogFlushPosition == LogCount)
@@ -362,7 +364,7 @@ ZenCacheDiskLayer::CacheBucket::MakeIndexSnapshot()
uint64_t
ZenCacheDiskLayer::CacheBucket::ReadIndexFile(const std::filesystem::path& IndexPath, uint32_t& OutVersion)
{
- ZEN_TRACE_CPU("Z$::Bucket::ReadIndexFile");
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::ReadIndexFile");
if (std::filesystem::is_regular_file(IndexPath))
{
@@ -437,7 +439,7 @@ ZenCacheDiskLayer::CacheBucket::ReadIndexFile(const std::filesystem::path& Index
uint64_t
ZenCacheDiskLayer::CacheBucket::ReadLog(const std::filesystem::path& LogPath, uint64_t SkipEntryCount)
{
- ZEN_TRACE_CPU("Z$::Bucket::ReadLog");
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::ReadLog");
if (std::filesystem::is_regular_file(LogPath))
{
@@ -492,7 +494,7 @@ ZenCacheDiskLayer::CacheBucket::ReadLog(const std::filesystem::path& LogPath, ui
void
ZenCacheDiskLayer::CacheBucket::OpenLog(const bool IsNew)
{
- ZEN_TRACE_CPU("Z$::Bucket::OpenLog");
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::OpenLog");
m_TotalStandaloneSize = 0;
@@ -624,6 +626,8 @@ ZenCacheDiskLayer::CacheBucket::BuildPath(PathBuilderBase& Path, const IoHash& H
IoBuffer
ZenCacheDiskLayer::CacheBucket::GetInlineCacheValue(const DiskLocation& Loc) const
{
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::GetInlineCacheValue");
+
BlockStoreLocation Location = Loc.GetBlockLocation(m_PayloadAlignment);
IoBuffer Value = m_BlockStore.TryGetChunk(Location);
@@ -638,7 +642,7 @@ ZenCacheDiskLayer::CacheBucket::GetInlineCacheValue(const DiskLocation& Loc) con
IoBuffer
ZenCacheDiskLayer::CacheBucket::GetStandaloneCacheValue(const DiskLocation& Loc, const IoHash& HashKey) const
{
- ZEN_TRACE_CPU("Z$::Bucket::GetStandaloneCacheValue");
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::GetStandaloneCacheValue");
ExtendablePathBuilder<256> DataFilePath;
BuildPath(DataFilePath, HashKey);
@@ -723,7 +727,7 @@ ZenCacheDiskLayer::CacheBucket::Put(const IoHash& HashKey, const ZenCacheValue&
bool
ZenCacheDiskLayer::CacheBucket::Drop()
{
- ZEN_TRACE_CPU("Z$::Bucket::Drop");
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::Drop");
RwLock::ExclusiveLockScope _(m_IndexLock);
@@ -747,7 +751,7 @@ ZenCacheDiskLayer::CacheBucket::Drop()
void
ZenCacheDiskLayer::CacheBucket::Flush()
{
- ZEN_TRACE_CPU("Z$::Bucket::Flush");
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::Flush");
m_BlockStore.Flush();
@@ -762,7 +766,7 @@ ZenCacheDiskLayer::CacheBucket::SaveManifest()
{
using namespace std::literals;
- ZEN_TRACE_CPU("Z$::Bucket::SaveManifest");
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::SaveManifest");
CbObjectWriter Writer;
Writer << "BucketId"sv << m_BucketId;
@@ -884,7 +888,7 @@ ValidateCacheBucketEntryValue(ZenContentType ContentType, IoBuffer Buffer)
void
ZenCacheDiskLayer::CacheBucket::ScrubStorage(ScrubContext& Ctx)
{
- ZEN_TRACE_CPU("Z$::Bucket::Scrub");
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::Scrub");
ZEN_INFO("scrubbing '{}'", m_BucketDir);
@@ -1123,7 +1127,7 @@ ZenCacheDiskLayer::CacheBucket::ScrubStorage(ScrubContext& Ctx)
void
ZenCacheDiskLayer::CacheBucket::GatherReferences(GcContext& GcCtx)
{
- ZEN_TRACE_CPU("Z$::DiskLayer::CacheBucket::GatherReferences");
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::GatherReferences");
uint64_t WriteBlockTimeUs = 0;
uint64_t WriteBlockLongestTimeUs = 0;
@@ -1225,7 +1229,7 @@ ZenCacheDiskLayer::CacheBucket::GatherReferences(GcContext& GcCtx)
void
ZenCacheDiskLayer::CacheBucket::CollectGarbage(GcContext& GcCtx)
{
- ZEN_TRACE_CPU("Z$::DiskLayer::CacheBucket::CollectGarbage");
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::CollectGarbage");
ZEN_DEBUG("collecting garbage from '{}'", m_BucketDir);
@@ -1320,6 +1324,8 @@ ZenCacheDiskLayer::CacheBucket::CollectGarbage(GcContext& GcCtx)
IndexMap Index;
BlockStore::ReclaimSnapshotState BlockStoreState;
{
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::CollectGarbage::State");
+
RwLock::SharedLockScope __(m_IndexLock);
Stopwatch Timer;
const auto ____ = MakeGuard([&] {
@@ -1364,6 +1370,8 @@ ZenCacheDiskLayer::CacheBucket::CollectGarbage(GcContext& GcCtx)
if (GcCtx.IsDeletionMode())
{
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::CollectGarbage::Delete");
+
std::error_code Ec;
ExtendablePathBuilder<256> Path;
@@ -1545,6 +1553,8 @@ ZenCacheDiskLayer::CacheBucket::CollectGarbage(GcContext& GcCtx)
void
ZenCacheDiskLayer::CacheBucket::UpdateAccessTimes(const std::vector<zen::access_tracking::KeyAccessTime>& AccessTimes)
{
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::UpdateAccessTimes");
+
using namespace access_tracking;
for (const KeyAccessTime& KeyTime : AccessTimes)
@@ -1612,6 +1622,8 @@ ZenCacheDiskLayer::CacheBucket::GetValueDetails(const std::string_view ValueFilt
void
ZenCacheDiskLayer::CollectGarbage(GcContext& GcCtx)
{
+ ZEN_TRACE_CPU("Z$::Disk::CollectGarbage");
+
RwLock::SharedLockScope _(m_Lock);
for (auto& Kv : m_Buckets)
@@ -1639,7 +1651,7 @@ ZenCacheDiskLayer::UpdateAccessTimes(const zen::access_tracking::AccessTimes& Ac
void
ZenCacheDiskLayer::CacheBucket::PutStandaloneCacheValue(const IoHash& HashKey, const ZenCacheValue& Value)
{
- ZEN_TRACE_CPU("Z$::Bucket::PutStandaloneCacheValue");
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::PutStandaloneCacheValue");
uint64_t NewFileSize = Value.Value.Size();
@@ -1777,6 +1789,8 @@ ZenCacheDiskLayer::CacheBucket::PutStandaloneCacheValue(const IoHash& HashKey, c
void
ZenCacheDiskLayer::CacheBucket::PutInlineCacheValue(const IoHash& HashKey, const ZenCacheValue& Value)
{
+ ZEN_TRACE_CPU("Z$::Disk::Bucket::PutInlineCacheValue");
+
uint8_t EntryFlags = 0;
if (Value.Value.GetContentType() == ZenContentType::kCbObject)
@@ -1824,6 +1838,8 @@ ZenCacheDiskLayer::~ZenCacheDiskLayer() = default;
bool
ZenCacheDiskLayer::Get(std::string_view InBucket, const IoHash& HashKey, ZenCacheValue& OutValue)
{
+ ZEN_TRACE_CPU("Z$::Disk::Get");
+
const auto BucketName = std::string(InBucket);
CacheBucket* Bucket = nullptr;
@@ -1871,6 +1887,8 @@ ZenCacheDiskLayer::Get(std::string_view InBucket, const IoHash& HashKey, ZenCach
void
ZenCacheDiskLayer::Put(std::string_view InBucket, const IoHash& HashKey, const ZenCacheValue& Value)
{
+ ZEN_TRACE_CPU("Z$::Disk::Put");
+
const auto BucketName = std::string(InBucket);
CacheBucket* Bucket = nullptr;
@@ -2060,6 +2078,8 @@ ZenCacheDiskLayer::ScrubStorage(ScrubContext& Ctx)
void
ZenCacheDiskLayer::GatherReferences(GcContext& GcCtx)
{
+ ZEN_TRACE_CPU("Z$::Disk::GatherReferences");
+
RwLock::SharedLockScope _(m_Lock);
for (auto& Kv : m_Buckets)