From: Zhang Song Date: Fri, 8 Aug 2025 08:58:22 +0000 (+0800) Subject: crimson/os/seastore: make cold rbm cleaner use different metric prefix X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5c226ba8cb937d4f3b7815ca716eca58f3996670;p=ceph-ci.git crimson/os/seastore: make cold rbm cleaner use different metric prefix Signed-off-by: Zhang Song Signed-off-by: Xuehan Xu --- diff --git a/src/crimson/os/seastore/async_cleaner.cc b/src/crimson/os/seastore/async_cleaner.cc index 880c9f7861e..e6f134c5f50 100644 --- a/src/crimson/os/seastore/async_cleaner.cc +++ b/src/crimson/os/seastore/async_cleaner.cc @@ -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"), diff --git a/src/crimson/os/seastore/async_cleaner.h b/src/crimson/os/seastore/async_cleaner.h index c04a369d024..5dd9785ebda 100644 --- a/src/crimson/os/seastore/async_cleaner.h +++ b/src/crimson/os/seastore/async_cleaner.h @@ -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( 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; diff --git a/src/crimson/os/seastore/transaction_manager.cc b/src/crimson/os/seastore/transaction_manager.cc index d8193ba9d44..1633df14fb3 100644 --- a/src/crimson/os/seastore/transaction_manager.cc +++ b/src/crimson/os/seastore/transaction_manager.cc @@ -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,