From: Jaya Prakash Date: Fri, 20 Mar 2026 12:02:16 +0000 (+0000) Subject: os/bluestore: Add perf Counter to Count Slow Ops in BlueStore X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c0106c5d760a87fa41c5be3cec7454a0fd60c05c;p=ceph.git os/bluestore: Add perf Counter to Count Slow Ops in BlueStore Signed-off-by: Jaya Prakash --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 2261e447485c..69b145e9f0f9 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -6602,6 +6602,16 @@ void BlueStore::_init_logger() "Slow op count for read wait aio", "srwc", PerfCountersBuilder::PRIO_USEFUL); + b.add_u64_counter(l_bluestore_slow_op_normal_count, + "slow_op_normal_count", + "Slow Normal op count in BlueStore", + "snoc", + PerfCountersBuilder::PRIO_USEFUL); + b.add_u64_counter(l_bluestore_slow_op_scrub_count, + "slow_op_scrub_count", + "Slow Scrub op count in BlueStore", + "ssoc", + PerfCountersBuilder::PRIO_USEFUL); // Resulting size axis configuration for op histograms, values are in bytes PerfHistogramCommon::axis_config_d alloc_hist_x_axis_config{ @@ -18878,8 +18888,10 @@ std::pair BlueStore::_trim_slow_op_event_queue( (slow_scrub_op_event_count > cct->_conf->bluestore_slow_scrub_ops_warn_threshold))) { if (!slow_op_event_queue.front().second) { slow_op_event_count--; + logger->dec(l_bluestore_slow_op_normal_count); } else { slow_scrub_op_event_count--; + logger->dec(l_bluestore_slow_op_scrub_count); } slow_op_event_queue.pop(); } @@ -18894,6 +18906,7 @@ void BlueStore::_add_slow_op_event() { auto cur_time = mono_clock::now(); slow_op_event_queue.push({cur_time, false}); slow_op_event_count++; + logger->inc(l_bluestore_slow_op_normal_count); _trim_slow_op_event_queue(cur_time); } @@ -18905,6 +18918,7 @@ void BlueStore::_add_slow_scrub_op_event() { auto cur_time = mono_clock::now(); slow_op_event_queue.push({cur_time, true}); slow_scrub_op_event_count++; + logger->inc(l_bluestore_slow_op_scrub_count); _trim_slow_op_event_queue(cur_time); } diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index 650a78f91ed4..95103d73f62a 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -241,6 +241,8 @@ enum { l_bluestore_slow_committed_kv_count, l_bluestore_slow_read_onode_meta_count, l_bluestore_slow_read_wait_aio_count, + l_bluestore_slow_op_normal_count, + l_bluestore_slow_op_scrub_count, //**************************************** l_bluestore_last };