From: Jianpeng Ma Date: Mon, 6 Jun 2016 16:31:02 +0000 (+0800) Subject: os/bluestore/BlueStore: add perfcoutner:l_bluestore_write_penalty_read_ops X-Git-Tag: v11.0.0~290^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=189c8f190b3560ece34099e952a97cf7e0abb00f;p=ceph.git 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 --- 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 };