From 03bac5d64ce6e69f35547492b14c19601092f9a6 Mon Sep 17 00:00:00 2001 From: Adam Kupczyk Date: Tue, 16 Jan 2024 10:22:53 +0000 Subject: [PATCH] os/bluestore: Add "write_lat" perf counter New "write_lat" tracks wallclock time spent in execution of BlueStore::_write(). Signed-off-by: Adam Kupczyk --- 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 265b006261a..03d66222e0e 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -6255,6 +6255,9 @@ void BlueStore::_init_logger() // write op stats //**************************************** + b.add_time_avg(l_bluestore_write_lat, "write_lat", + "write_op average execution time", + "aw", PerfCountersBuilder::PRIO_USEFUL); b.add_u64_counter(l_bluestore_write_big, "write_big", "Large aligned writes into fresh blobs"); b.add_u64_counter(l_bluestore_write_big_bytes, "write_big_bytes", @@ -17341,6 +17344,7 @@ int BlueStore::_write(TransContext *txc, dout(15) << __func__ << " " << c->cid << " " << o->oid << " 0x" << std::hex << offset << "~" << length << std::dec << dendl; + auto start = mono_clock::now(); int r = 0; if (offset + length >= OBJECT_MAX_SIZE) { r = -E2BIG; @@ -17349,6 +17353,8 @@ int BlueStore::_write(TransContext *txc, r = _do_write(txc, c, o, offset, length, bl, fadvise_flags); txc->write_onode(o); } + auto finish = mono_clock::now(); + logger->tinc(l_bluestore_write_lat, finish - start); dout(10) << __func__ << " " << c->cid << " " << o->oid << " 0x" << std::hex << offset << "~" << length << std::dec << " = " << r << dendl; diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index 9abdb61c18b..acba359902e 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -127,6 +127,7 @@ enum { // write op stats //**************************************** + l_bluestore_write_lat, l_bluestore_write_big, l_bluestore_write_big_bytes, l_bluestore_write_big_blobs, -- 2.47.3