From: Zhang Song Date: Tue, 10 Jan 2023 08:58:58 +0000 (+0800) Subject: crimson/os/seastore/SegmentCleaner: distinguish the cold cleaner from the normal X-Git-Tag: v18.1.0~50^2~14 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6d9fae506151f037240e0cf66d23b009000e8fe4;p=ceph.git crimson/os/seastore/SegmentCleaner: distinguish the cold cleaner from the normal Signed-off-by: Zhang Song (cherry picked from commit 483e36826802745e68855f0f0f2a89d199903011) --- 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;