From 189c8f190b3560ece34099e952a97cf7e0abb00f Mon Sep 17 00:00:00 2001 From: Jianpeng Ma Date: Tue, 7 Jun 2016 00:31:02 +0800 Subject: [PATCH] os/bluestore/BlueStore: add perfcoutner:l_bluestore_write_penalty_read_ops For write, because the align requirement it maybe need read data. Using this perfcounter to record the read ops. Signed-off-by: Jianpeng Ma --- src/os/bluestore/BlueStore.cc | 3 +++ src/os/bluestore/BlueStore.h | 1 + 2 files changed, 4 insertions(+) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index a7b1ad930e0e..0f7aa6865561 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -1061,6 +1061,7 @@ void BlueStore::_init_logger() b.add_u64(l_bluestore_write_pad_bytes, "write_pad_bytes", "Sum for write-op padded bytes"); b.add_u64(l_bluestore_wal_write_ops, "wal_write_ops", "Sum for wal write op"); b.add_u64(l_bluestore_wal_write_bytes, "wal_write_bytes", "Sum for wal write bytes"); + b.add_u64(l_bluestore_write_penalty_read_ops, " write_penalty_read_ops", "Sum for write penalty read ops"); logger = b.create_perf_counters(); g_ceph_context->get_perfcounters_collection()->add(logger); } @@ -5595,6 +5596,7 @@ void BlueStore::_do_write_small( b_len += head_read; head_bl.claim_append(padded); padded.swap(head_bl); + logger->inc(l_bluestore_write_penalty_read_ops); } if (tail_read) { bufferlist tail_bl; @@ -5608,6 +5610,7 @@ void BlueStore::_do_write_small( padded.append_zero(zlen); logger->inc(l_bluestore_write_pad_bytes, zlen); } + logger->inc(l_bluestore_write_penalty_read_ops); } } diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index cb763dbb1c7c..fd28f37e94ef 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -58,6 +58,7 @@ enum { l_bluestore_write_pad_bytes, l_bluestore_wal_write_ops, l_bluestore_wal_write_bytes, + l_bluestore_write_penalty_read_ops, l_bluestore_last }; -- 2.47.3