From cc9d58421ef9785802482faa5e68ac25911331e8 Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Fri, 4 Sep 2020 13:17:54 +0300 Subject: [PATCH] os/bluestore: introduce removal perf counter Signed-off-by: Igor Fedotov --- src/os/bluestore/BlueStore.cc | 19 +++++++++++++++++++ src/os/bluestore/BlueStore.h | 1 + 2 files changed, 20 insertions(+) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 1d66ad48cce4b..1b4d9ac5999e4 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -4923,6 +4923,9 @@ void BlueStore::_init_logger() "Average omap get_values call latency"); b.add_time_avg(l_bluestore_clist_lat, "clist_lat", "Average collection listing latency"); + b.add_time_avg(l_bluestore_remove_lat, "remove_lat", + "Average removal latency"); + logger = b.create_perf_counters(); cct->get_perfcounters_collection()->add(logger); } @@ -14548,7 +14551,23 @@ int BlueStore::_remove(TransContext *txc, dout(15) << __func__ << " " << c->cid << " " << o->oid << " onode " << o.get() << " txc "<< txc << dendl; + + auto start_time = mono_clock::now(); int r = _do_remove(txc, c, o); + log_latency_fn( + __func__, + l_bluestore_remove_lat, + mono_clock::now() - start_time, + cct->_conf->bluestore_log_op_age, + [&](const ceph::timespan& lat) { + ostringstream ostr; + ostr << ", lat = " << timespan_str(lat) + << " cid =" << c->cid + << " oid =" << o->oid; + return ostr.str(); + } + ); + dout(10) << __func__ << " " << c->cid << " " << o->oid << " = " << r << dendl; return r; } diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index 65a8b09323604..d9a107218cdfb 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -143,6 +143,7 @@ enum { l_bluestore_omap_get_keys_lat, l_bluestore_omap_get_values_lat, l_bluestore_clist_lat, + l_bluestore_remove_lat, l_bluestore_last }; -- 2.39.5