From b4b85088a56dc6791ca15779f600fdcf862ba9c9 Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Sat, 12 Oct 2024 19:21:06 +0000 Subject: [PATCH] os/bluestore: bring latency logging to omap_iterate() Signed-off-by: Radoslaw Zarzynski (cherry picked from commit d2531a0baf41428e07e6a79db0f6867f9a3cbd6f) --- src/os/bluestore/BlueStore.cc | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 1efd4cc1a19..0fd122cdce1 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -13498,15 +13498,27 @@ int BlueStore::omap_iterate( { std::string key; o->get_omap_key(start_from.seek_position, &key); + auto start = ceph::mono_clock::now(); if (start_from.seek_type == omap_iter_seek_t::LOWER_BOUND) { it->lower_bound(key); + c->store->log_latency( + __func__, + l_bluestore_omap_lower_bound_lat, + ceph::mono_clock::now() - start, + c->store->cct->_conf->bluestore_log_omap_iterator_age); } else { it->upper_bound(key); + c->store->log_latency( + __func__, + l_bluestore_omap_upper_bound_lat, + ceph::mono_clock::now() - start, + c->store->cct->_conf->bluestore_log_omap_iterator_age); } } // iterate! std::string tail; + ceph::timespan next_lat_acc{0}; o->get_omap_tail(&tail); while (it->valid()) { std::string user_key; @@ -13519,12 +13531,17 @@ int BlueStore::omap_iterate( if (ret == omap_iter_ret_t::STOP) { break; } else if (ret == omap_iter_ret_t::NEXT) { + ceph::time_guard{next_lat_acc}; it->next(); } else { ceph_abort(); } } - + c->store->log_latency( + __func__, + l_bluestore_omap_next_lat, + next_lat_acc, + c->store->cct->_conf->bluestore_log_omap_iterator_age); return 0; } -- 2.39.5