From: Matan Breizman Date: Thu, 18 Sep 2025 13:35:54 +0000 (+0000) Subject: crimson/os/seastore/epm: add retried_blocked_io metrics X-Git-Tag: v21.0.0~209^2~76^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6c448c2710b82d8a2337501e95638a5d9467950f;p=ceph.git crimson/os/seastore/epm: add retried_blocked_io metrics We only track once an IO was blocked in the first time. Track also the number of retries on this IO. Signed-off-by: Matan Breizman --- diff --git a/src/crimson/os/seastore/extent_placement_manager.cc b/src/crimson/os/seastore/extent_placement_manager.cc index 74d95c01bb69..275d8c4dd7ce 100644 --- a/src/crimson/os/seastore/extent_placement_manager.cc +++ b/src/crimson/os/seastore/extent_placement_manager.cc @@ -723,6 +723,12 @@ ExtentPlacementManager::BackgroundProcess::reserve_projected_usage( res.cleaner_result.reserve_cold_success, usage); abort_io_usage(usage, res); + if (!res.reserve_inline_success) { + ++stats.io_retried_blocked_count_trim; + } + if (!res.cleaner_result.is_successful()) { + ++stats.io_retried_blocked_count_clean; + } blocking_io = seastar::promise<>(); } } while (blocking_io); @@ -981,6 +987,10 @@ void ExtentPlacementManager::BackgroundProcess::register_metrics() sm::description("IOs that are blocked by gc")), sm::make_counter("io_blocked_count_trim", stats.io_blocked_count_trim, sm::description("IOs that are blocked by trimming")), + sm::make_counter("io_retried_blocked_count_clean", stats.io_blocked_count_clean, + sm::description("Retried IOs that are blocked by cleaning")), + sm::make_counter("io_retried_blocked_count_trim", stats.io_blocked_count_trim, + sm::description("Retried IOs that are blocked by trimming")), sm::make_counter("io_blocked_count_clean", stats.io_blocked_count_clean, sm::description("IOs that are blocked by cleaning")), sm::make_counter("io_blocked_sum", stats.io_blocked_sum, diff --git a/src/crimson/os/seastore/extent_placement_manager.h b/src/crimson/os/seastore/extent_placement_manager.h index 95378d558e62..994edc85829f 100644 --- a/src/crimson/os/seastore/extent_placement_manager.h +++ b/src/crimson/os/seastore/extent_placement_manager.h @@ -1075,6 +1075,8 @@ private: uint64_t io_blocked_count = 0; uint64_t io_blocked_count_trim = 0; uint64_t io_blocked_count_clean = 0; + uint64_t io_retried_blocked_count_trim = 0; + uint64_t io_retried_blocked_count_clean = 0; uint64_t io_blocked_sum = 0; uint64_t io_blocked_time = 0; } stats;