From 6d9fae506151f037240e0cf66d23b009000e8fe4 Mon Sep 17 00:00:00 2001 From: Zhang Song Date: Tue, 10 Jan 2023 16:58:58 +0800 Subject: [PATCH] crimson/os/seastore/SegmentCleaner: distinguish the cold cleaner from the normal Signed-off-by: Zhang Song (cherry picked from commit 483e36826802745e68855f0f0f2a89d199903011) --- src/crimson/os/seastore/async_cleaner.cc | 12 ++++++++++-- src/crimson/os/seastore/async_cleaner.h | 10 +++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/crimson/os/seastore/async_cleaner.cc b/src/crimson/os/seastore/async_cleaner.cc index a993506e0ec..d57003d8ef5 100644 --- a/src/crimson/os/seastore/async_cleaner.cc +++ b/src/crimson/os/seastore/async_cleaner.cc @@ -831,8 +831,10 @@ SegmentCleaner::SegmentCleaner( SegmentManagerGroupRef&& sm_group, BackrefManager &backref_manager, SegmentSeqAllocator &segment_seq_allocator, - bool detailed) + bool detailed, + bool is_cold) : detailed(detailed), + is_cold(is_cold), config(config), sm_group(std::move(sm_group)), backref_manager(backref_manager), @@ -854,7 +856,13 @@ void SegmentCleaner::register_metrics() i = get_bucket_index(UTIL_STATE_EMPTY); stats.segment_util.buckets[i].count = segments.get_num_segments(); - metrics.add_group("segment_cleaner", { + std::string prefix; + if (is_cold) { + prefix.append("cold_"); + } + prefix.append("segment_cleaner"); + + metrics.add_group(prefix, { sm::make_counter("segments_number", [this] { return segments.get_num_segments(); }, sm::description("the number of segments")), diff --git a/src/crimson/os/seastore/async_cleaner.h b/src/crimson/os/seastore/async_cleaner.h index 062f3883a9c..81abe925a8c 100644 --- a/src/crimson/os/seastore/async_cleaner.h +++ b/src/crimson/os/seastore/async_cleaner.h @@ -1211,7 +1211,8 @@ public: SegmentManagerGroupRef&& sm_group, BackrefManager &backref_manager, SegmentSeqAllocator &segment_seq_allocator, - bool detailed); + bool detailed, + bool is_cold); void set_journal_trimmer(JournalTrimmer &_trimmer) { trimmer = &_trimmer; @@ -1222,9 +1223,11 @@ public: SegmentManagerGroupRef&& sm_group, BackrefManager &backref_manager, SegmentSeqAllocator &ool_seq_allocator, - bool detailed) { + bool detailed, + bool is_cold = false) { return std::make_unique( - config, std::move(sm_group), backref_manager, ool_seq_allocator, detailed); + config, std::move(sm_group), backref_manager, + ool_seq_allocator, detailed, is_cold); } /* @@ -1524,6 +1527,7 @@ private: } const bool detailed; + const bool is_cold; const config_t config; SegmentManagerGroupRef sm_group; -- 2.39.5