From: Igor Fedotov Date: Fri, 4 Sep 2020 10:17:54 +0000 (+0300) Subject: os/bluestore: introduce removal perf counter X-Git-Tag: v16.1.0~369^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cc9d58421ef9785802482faa5e68ac25911331e8;p=ceph.git os/bluestore: introduce removal perf counter Signed-off-by: Igor Fedotov --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 1d66ad48cce4..1b4d9ac5999e 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 65a8b0932360..d9a107218cdf 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 };