diff options
| author | Dan Engelbrecht <[email protected]> | 2024-09-04 09:27:32 +0200 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2024-09-04 09:27:32 +0200 |
| commit | 1e52c3e1f479a802d151a4d162bb0b9174d22cf7 (patch) | |
| tree | 96427532f0df1e735fc5ced8087fb4996d021be5 /src | |
| parent | delay oplog read (#141) (diff) | |
| download | zen-1e52c3e1f479a802d151a4d162bb0b9174d22cf7.tar.xz zen-1e52c3e1f479a802d151a4d162bb0b9174d22cf7.zip | |
move gc logs to gc logger (#142)
- Improvement: Move GC logging in callback functions into "gc" context
Diffstat (limited to 'src')
| -rw-r--r-- | src/zenserver/projectstore/projectstore.cpp | 58 | ||||
| -rw-r--r-- | src/zenstore/cache/cachedisklayer.cpp | 15 | ||||
| -rw-r--r-- | src/zenstore/cache/structuredcachestore.cpp | 10 | ||||
| -rw-r--r-- | src/zenstore/compactcas.cpp | 6 | ||||
| -rw-r--r-- | src/zenstore/filecas.cpp | 6 | ||||
| -rw-r--r-- | src/zenstore/gc.cpp | 2 | ||||
| -rw-r--r-- | src/zenstore/include/zenstore/gc.h | 1 |
7 files changed, 86 insertions, 12 deletions
diff --git a/src/zenserver/projectstore/projectstore.cpp b/src/zenserver/projectstore/projectstore.cpp index c1905228c..984b749d0 100644 --- a/src/zenserver/projectstore/projectstore.cpp +++ b/src/zenserver/projectstore/projectstore.cpp @@ -2886,7 +2886,6 @@ ProjectStore::Project::OpenOplog(std::string_view OplogId, bool AllowCompact) { return It->second.get(); } - if (Oplog::ExistsAt(OplogBasePath)) { try @@ -5003,6 +5002,8 @@ public: { ZEN_TRACE_CPU("Store::CompactStore"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { if (!Ctx.Settings.Verbose) @@ -5125,6 +5126,8 @@ ProjectStore::RemoveExpiredData(GcCtx& Ctx, GcStats& Stats) { ZEN_TRACE_CPU("Store::RemoveExpiredData"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { if (!Ctx.Settings.Verbose) @@ -5266,6 +5269,8 @@ public: { ZEN_TRACE_CPU("Store::UpdateLockedState"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; std::vector<ProjectStore::Oplog*> AddedOplogs; @@ -5334,6 +5339,8 @@ public: { ZEN_TRACE_CPU("Store::RemoveUsedReferencesFromSet"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + size_t InitialCount = IoCids.size(); Stopwatch Timer; const auto _ = MakeGuard([&] { @@ -5404,6 +5411,8 @@ public: { ZEN_TRACE_CPU("Store::Oplog::PreCache"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { if (!Ctx.Settings.Verbose) @@ -5464,6 +5473,8 @@ public: { ZEN_TRACE_CPU("Store::Oplog::UpdateLockedState"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { if (!Ctx.Settings.Verbose) @@ -5503,6 +5514,8 @@ public: { ZEN_TRACE_CPU("Store::Oplog::RemoveUsedReferencesFromSet"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + size_t InitialCount = IoCids.size(); Stopwatch Timer; const auto _ = MakeGuard([&] { @@ -5544,6 +5557,8 @@ ProjectStore::CreateReferenceCheckers(GcCtx& Ctx) { ZEN_TRACE_CPU("Store::CreateReferenceCheckers"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + size_t ProjectCount = 0; size_t OplogCount = 0; @@ -5602,9 +5617,12 @@ ProjectStore::CreateReferenceCheckers(GcCtx& Ctx) } std::vector<RwLock::SharedLockScope> -ProjectStore::LockState(GcCtx&) +ProjectStore::LockState(GcCtx& Ctx) { ZEN_TRACE_CPU("Store::LockState"); + + auto Log = [&Ctx]() { return Ctx.Logger; }; + std::vector<RwLock::SharedLockScope> Locks; Locks.emplace_back(RwLock::SharedLockScope(m_ProjectsLock)); for (auto& ProjectIt : m_Projects) @@ -5846,20 +5864,40 @@ TEST_CASE_TEMPLATE("project.store.export", ProjectStore::Oplog* OplogImport = Project->NewOplog("oplog2", {}); CHECK(OplogImport != nullptr); - RemoteProjectStore::Result ImportResult = - LoadOplog(CidStore, *RemoteStore, *OplogImport, /*Force*/ false, /*IgnoreMissingAttachments*/ false, /*CleanOplog*/ false, nullptr); + RemoteProjectStore::Result ImportResult = LoadOplog(CidStore, + *RemoteStore, + *OplogImport, + /*Force*/ false, + /*IgnoreMissingAttachments*/ false, + /*CleanOplog*/ false, + nullptr); CHECK(ImportResult.ErrorCode == 0); - RemoteProjectStore::Result ImportForceResult = - LoadOplog(CidStore, *RemoteStore, *OplogImport, /*Force*/ true, /*IgnoreMissingAttachments*/ false, /*CleanOplog*/ false, nullptr); + RemoteProjectStore::Result ImportForceResult = LoadOplog(CidStore, + *RemoteStore, + *OplogImport, + /*Force*/ true, + /*IgnoreMissingAttachments*/ false, + /*CleanOplog*/ false, + nullptr); CHECK(ImportForceResult.ErrorCode == 0); - RemoteProjectStore::Result ImportCleanResult = - LoadOplog(CidStore, *RemoteStore, *OplogImport, /*Force*/ false, /*IgnoreMissingAttachments*/ false, /*CleanOplog*/ true, nullptr); + RemoteProjectStore::Result ImportCleanResult = LoadOplog(CidStore, + *RemoteStore, + *OplogImport, + /*Force*/ false, + /*IgnoreMissingAttachments*/ false, + /*CleanOplog*/ true, + nullptr); CHECK(ImportCleanResult.ErrorCode == 0); - RemoteProjectStore::Result ImportForceCleanResult = - LoadOplog(CidStore, *RemoteStore, *OplogImport, /*Force*/ true, /*IgnoreMissingAttachments*/ false, /*CleanOplog*/ true, nullptr); + RemoteProjectStore::Result ImportForceCleanResult = LoadOplog(CidStore, + *RemoteStore, + *OplogImport, + /*Force*/ true, + /*IgnoreMissingAttachments*/ false, + /*CleanOplog*/ true, + nullptr); CHECK(ImportForceCleanResult.ErrorCode == 0); } diff --git a/src/zenstore/cache/cachedisklayer.cpp b/src/zenstore/cache/cachedisklayer.cpp index 940f78c30..9c350b11d 100644 --- a/src/zenstore/cache/cachedisklayer.cpp +++ b/src/zenstore/cache/cachedisklayer.cpp @@ -3063,6 +3063,8 @@ public: { ZEN_TRACE_CPU("Z$::Bucket::CompactStore"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { Reset(m_ExpiredStandaloneKeys); @@ -3290,6 +3292,8 @@ ZenCacheDiskLayer::CacheBucket::RemoveExpiredData(GcCtx& Ctx, GcStats& Stats) { ZEN_TRACE_CPU("Z$::Bucket::RemoveExpiredData"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + size_t TotalEntries = 0; Stopwatch Timer; @@ -3457,6 +3461,8 @@ ZenCacheDiskLayer::CacheBucket::GetReferencesLocked(GcCtx& Ctx, std::vector<IoHa { ZEN_TRACE_CPU("Z$::Bucket::GetReferencesLocked"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + auto GetAttachments = [&](MemoryView Data) -> bool { if (ValidateCompactBinary(Data, CbValidateMode::Default) == CbValidateError::None) { @@ -3632,6 +3638,8 @@ public: { ZEN_TRACE_CPU("Z$::Bucket::PreCache"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { if (!Ctx.Settings.Verbose) @@ -3659,6 +3667,8 @@ public: { ZEN_TRACE_CPU("Z$::Bucket::UpdateLockedState"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { if (!Ctx.Settings.Verbose) @@ -3689,6 +3699,9 @@ public: virtual void RemoveUsedReferencesFromSet(GcCtx& Ctx, HashSet& IoCids) override { ZEN_TRACE_CPU("Z$::Bucket::RemoveUsedReferencesFromSet"); + + auto Log = [&Ctx]() { return Ctx.Logger; }; + size_t InitialCount = IoCids.size(); Stopwatch Timer; const auto _ = MakeGuard([&] { @@ -3723,6 +3736,8 @@ ZenCacheDiskLayer::CacheBucket::CreateReferenceCheckers(GcCtx& Ctx) { ZEN_TRACE_CPU("Z$::Bucket::CreateReferenceCheckers"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { if (!Ctx.Settings.Verbose) diff --git a/src/zenstore/cache/structuredcachestore.cpp b/src/zenstore/cache/structuredcachestore.cpp index ac1db2a4e..25d20748e 100644 --- a/src/zenstore/cache/structuredcachestore.cpp +++ b/src/zenstore/cache/structuredcachestore.cpp @@ -1033,10 +1033,12 @@ ZenCacheStore::GetBucketInfo(std::string_view NamespaceName, std::string_view Bu } std::vector<RwLock::SharedLockScope> -ZenCacheStore::LockState(GcCtx&) +ZenCacheStore::LockState(GcCtx& Ctx) { ZEN_TRACE_CPU("CacheStore::LockState"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + std::vector<RwLock::SharedLockScope> Locks; Locks.emplace_back(RwLock::SharedLockScope(m_NamespacesLock)); for (auto& NamespaceIt : m_Namespaces) @@ -1135,6 +1137,8 @@ public: { ZEN_TRACE_CPU("Z$::UpdateLockedState"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; std::vector<ZenCacheDiskLayer::CacheBucket*> AddedBuckets; @@ -1191,6 +1195,8 @@ public: { ZEN_TRACE_CPU("Z$::RemoveUsedReferencesFromSet"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + size_t InitialCount = IoCids.size(); Stopwatch Timer; const auto _ = MakeGuard([&] { @@ -1227,6 +1233,8 @@ ZenCacheStore::CreateReferenceCheckers(GcCtx& Ctx) { ZEN_TRACE_CPU("CacheStore::CreateReferenceCheckers"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { if (!Ctx.Settings.Verbose) diff --git a/src/zenstore/compactcas.cpp b/src/zenstore/compactcas.cpp index a00b17912..790a4078e 100644 --- a/src/zenstore/compactcas.cpp +++ b/src/zenstore/compactcas.cpp @@ -696,6 +696,8 @@ public: { ZEN_TRACE_CPU("CasContainer::CompactStore"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { if (!Ctx.Settings.Verbose) @@ -847,6 +849,8 @@ public: { ZEN_TRACE_CPU("CasContainer::RemoveUnreferencedData"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { if (!Ctx.Settings.Verbose) @@ -930,6 +934,8 @@ CasContainerStrategy::CreateReferencePruner(GcCtx& Ctx, GcReferenceStoreStats&) { ZEN_TRACE_CPU("CasContainer::CreateReferencePruner"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { if (!Ctx.Settings.Verbose) diff --git a/src/zenstore/filecas.cpp b/src/zenstore/filecas.cpp index 48177ac9e..733140e50 100644 --- a/src/zenstore/filecas.cpp +++ b/src/zenstore/filecas.cpp @@ -1517,6 +1517,8 @@ public: { ZEN_TRACE_CPU("FileCas::CompactStore"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { Reset(m_ReferencesToClean); @@ -1635,6 +1637,8 @@ public: { ZEN_TRACE_CPU("FileCas::RemoveUnreferencedData"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { if (!Ctx.Settings.Verbose) @@ -1714,6 +1718,8 @@ FileCasStrategy::CreateReferencePruner(GcCtx& Ctx, GcReferenceStoreStats&) { ZEN_TRACE_CPU("FileCas::CreateReferencePruner"); + auto Log = [&Ctx]() { return Ctx.Logger; }; + Stopwatch Timer; const auto _ = MakeGuard([&] { if (!Ctx.Settings.Verbose) diff --git a/src/zenstore/gc.cpp b/src/zenstore/gc.cpp index d6bf99c3e..28bdd2f42 100644 --- a/src/zenstore/gc.cpp +++ b/src/zenstore/gc.cpp @@ -619,7 +619,7 @@ GcManager::CollectGarbage(const GcSettings& Settings) { ZEN_TRACE_CPU("GcV2::CollectGarbage"); - GcCtx Ctx{.Settings = Settings, .IsCancelledFlag = m_CancelGC}; + GcCtx Ctx{.Settings = Settings, .IsCancelledFlag = m_CancelGC, .Logger = Log()}; GcResult Result; { diff --git a/src/zenstore/include/zenstore/gc.h b/src/zenstore/include/zenstore/gc.h index 92f2bdf78..111b9886e 100644 --- a/src/zenstore/include/zenstore/gc.h +++ b/src/zenstore/include/zenstore/gc.h @@ -136,6 +136,7 @@ struct GcCtx { const GcSettings Settings; std::atomic_bool& IsCancelledFlag; + LoggerRef Logger; }; typedef tsl::robin_set<IoHash> HashSet; |