From 1c9eaeb7115e07bb9a329902a6344e9e655af6bf Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Fri, 25 Sep 2020 04:30:01 +0300 Subject: [PATCH] os/bluestore: add perf counter for omap_clear() op. Signed-off-by: Igor Fedotov --- src/os/bluestore/BlueStore.cc | 6 ++++++ src/os/bluestore/BlueStore.h | 1 + 2 files changed, 7 insertions(+) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index c8242cb072f..5404150e15a 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -5192,6 +5192,8 @@ void BlueStore::_init_logger() b.add_time_avg(l_bluestore_omap_get_values_lat, "omap_get_values_lat", "Average omap get_values call latency", "ogvl", PerfCountersBuilder::PRIO_USEFUL); + b.add_time_avg(l_bluestore_omap_clear_lat, "omap_clear_lat", + "Average omap clear call latency"); b.add_time_avg(l_bluestore_clist_lat, "clist_lat", "Average collection listing latency", "cl_l", PerfCountersBuilder::PRIO_USEFUL); @@ -16033,6 +16035,8 @@ int BlueStore::_omap_clear(TransContext *txc, OnodeRef& o) { dout(15) << __func__ << " " << c->cid << " " << o->oid << dendl; + auto t0 = mono_clock::now(); + int r = 0; if (o->onode.has_omap()) { o->flush(); @@ -16040,6 +16044,8 @@ int BlueStore::_omap_clear(TransContext *txc, o->onode.clear_omap_flag(); txc->write_onode(o); } + logger->tinc(l_bluestore_omap_clear_lat, mono_clock::now() - t0); + 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 affb2cb536a..4e32e9144cc 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -189,6 +189,7 @@ enum { l_bluestore_omap_next_lat, l_bluestore_omap_get_keys_lat, l_bluestore_omap_get_values_lat, + l_bluestore_omap_clear_lat, l_bluestore_clist_lat, l_bluestore_remove_lat, //**************************************** -- 2.39.5