]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/os/seastore: make cold rbm cleaner use different metric prefix
authorZhang Song <zhangsong02@qianxin.com>
Fri, 8 Aug 2025 08:58:22 +0000 (16:58 +0800)
committerXuehan Xu <xuxuehan@qianxin.com>
Sat, 23 May 2026 09:12:01 +0000 (17:12 +0800)
Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
src/crimson/os/seastore/async_cleaner.cc
src/crimson/os/seastore/async_cleaner.h
src/crimson/os/seastore/transaction_manager.cc

index 880c9f7861ecac0892b59cd78a603959d5b96a36..e6f134c5f50da931b51ed117670cdfa1a63c44df 100644 (file)
@@ -1832,9 +1832,11 @@ RBMCleaner::RBMCleaner(
   RBMDeviceGroupRef&& rb_group,
   BackrefManager &backref_manager,
   LBAManager &lba_manager,
-  bool detailed)
+  bool detailed,
+  bool is_cold)
   : store_index(store_index),
     detailed(detailed),
+    is_cold(is_cold),
     rb_group(std::move(rb_group)),
     backref_manager(backref_manager),
     lba_manager(lba_manager)
@@ -2043,7 +2045,13 @@ void RBMCleaner::register_metrics()
 {
   namespace sm = seastar::metrics;
 
-  metrics.add_group("rbm_cleaner", {
+  std::string prefix;
+  if (is_cold) {
+    prefix.append("cold_");
+  }
+  prefix.append("rbm_cleaner");
+
+  metrics.add_group(prefix, {
     sm::make_counter("total_bytes",
                     [this] { return get_total_bytes(); },
                     sm::description("the size of the space"),
index c04a369d024ae583cf67d3c899c51ac836b9d73e..5dd9785ebda23882a6d76306135ffbfe2e02d806 100644 (file)
@@ -1753,17 +1753,19 @@ public:
     RBMDeviceGroupRef&& rb_group,
     BackrefManager &backref_manager,
     LBAManager &lba_manager,
-    bool detailed);
+    bool detailed,
+    bool is_cold);
 
   static RBMCleanerRef create(
       store_index_t store_index,
       RBMDeviceGroupRef&& rb_group,
       BackrefManager &backref_manager,
       LBAManager &lba_manager,
-      bool detailed) {
+      bool detailed,
+      bool is_cold) {
     return std::make_unique<RBMCleaner>(
       store_index,
-      std::move(rb_group), backref_manager, lba_manager, detailed);
+      std::move(rb_group), backref_manager, lba_manager, detailed, is_cold);
   }
 
   RBMDeviceGroup* get_rb_group() {
@@ -1909,6 +1911,7 @@ private:
 
   store_index_t store_index;
   const bool detailed;
+  const bool is_cold;
   RBMDeviceGroupRef rb_group;
   BackrefManager &backref_manager;
   LBAManager &lba_manager;
index d8193ba9d44f84ca38c20ab98296e9502f96dab8..1633df14fb3913ea4eb19eaa053281474bca9ef7 100644 (file)
@@ -1470,7 +1470,8 @@ TransactionManagerRef make_transaction_manager(
       std::move(cold_rbs),
       *backref_manager,
       *lba_manager,
-      cleaner_is_detailed);
+      cleaner_is_detailed,
+      true);
   }
 
   if (backend_type == backend_type_t::SEGMENTED) {
@@ -1498,7 +1499,8 @@ TransactionManagerRef make_transaction_manager(
       std::move(rbs),
       *backref_manager,
       *lba_manager,
-      cleaner_is_detailed);
+      cleaner_is_detailed,
+      false);
     journal = journal::make_circularbounded(
       store_index,
       *journal_trimmer,