]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/os/seastore/SegmentCleaner: distinguish the cold cleaner from the normal
authorZhang Song <zhangsong325@gmail.com>
Tue, 10 Jan 2023 08:58:58 +0000 (16:58 +0800)
committerMatan Breizman <mbreizma@redhat.com>
Tue, 23 May 2023 08:03:21 +0000 (08:03 +0000)
Signed-off-by: Zhang Song <zhangsong325@gmail.com>
(cherry picked from commit 483e36826802745e68855f0f0f2a89d199903011)

src/crimson/os/seastore/async_cleaner.cc
src/crimson/os/seastore/async_cleaner.h

index a993506e0ec3f5093bcf7bc783a7125447233edb..d57003d8ef5571f6418059fb6e17463301c19724 100644 (file)
@@ -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")),
index 062f3883a9c4b195957ccf9abf7e3b91702e5bf0..81abe925a8c9a71199ca6d435a4802e00234310f 100644 (file)
@@ -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<SegmentCleaner>(
-        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;