From 54d0430a4507a7c1769a1587b7fc8049c7a3e575 Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Mon, 23 Oct 2023 15:23:25 +0200 Subject: fix m_LastFullGcDuration, m_LastFullGCDiff, m_LastFullGcDuration and m_LastLightweightGcDuration stats (#494) --- src/zenstore/gc.cpp | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) (limited to 'src/zenstore/gc.cpp') diff --git a/src/zenstore/gc.cpp b/src/zenstore/gc.cpp index 7396fcf65..24b7b4d2c 100644 --- a/src/zenstore/gc.cpp +++ b/src/zenstore/gc.cpp @@ -729,10 +729,12 @@ GcScheduler::GetState() const { std::unique_lock Lock(m_GcMutex); - Result.LastFullGcTime = m_LastGcTime; - Result.LastFullGCDiff = m_LastFullGCDiff; - Result.LastLightweightGcTime = m_LastLightweightGcTime; - Result.LastLightweightGCDiff = m_LastLightweightGCDiff; + Result.LastFullGcTime = m_LastGcTime; + Result.LastFullGCDiff = m_LastFullGCDiff; + Result.LastFullGcDuration = m_LastFullGcDuration; + Result.LastLightweightGcTime = m_LastLightweightGcTime; + Result.LastLightweightGCDiff = m_LastLightweightGCDiff; + Result.LastLightweightGcDuration = m_LastLightweightGcDuration; } std::error_code Ec; DiskSpace Space = DiskSpaceInfo(Result.Config.RootDirectory, Ec); @@ -1194,22 +1196,13 @@ GcScheduler::CollectGarbage(const GcClock::TimePoint& CacheExpireTime, GcStorageSize Diff = m_GcManager.CollectGarbage(GcCtx); + std::chrono::milliseconds ElapsedMS = std::chrono::milliseconds(Timer.GetElapsedTimeMs()); + if (SkipCid) { - m_LastLightweightGcTime = GcClock::Now(); - - std::chrono::seconds ElapsedSeconds = - std::chrono::duration_cast(std::chrono::milliseconds(Timer.GetElapsedTimeMs())); - if (SkipCid) - { - m_LastLightweightGcDuration = ElapsedSeconds; - m_LastLightweightGCDiff = Diff; - } - else - { - m_LastFullGcDuration = ElapsedSeconds; - m_LastFullGCDiff = Diff; - } + m_LastLightweightGcTime = GcClock::Now(); + m_LastLightweightGcDuration = ElapsedMS; + m_LastLightweightGCDiff = Diff; } else { @@ -1223,6 +1216,8 @@ GcScheduler::CollectGarbage(const GcClock::TimePoint& CacheExpireTime, m_LastGcTime = GcClock::Now(); m_LastLightweightGcTime = m_LastGcTime; + m_LastFullGcDuration = ElapsedMS; + m_LastFullGCDiff = Diff; } try -- cgit v1.2.3