From d85f2dcff4cb70c6fa5935955a0ff3b18b900cd8 Mon Sep 17 00:00:00 2001 From: xie xingguo Date: Tue, 1 Nov 2016 11:32:49 +0800 Subject: [PATCH] os/bluestore: add counter to trace blob splitting As we want to know if it really happens and how often does it happen. Signed-off-by: xie xingguo --- src/os/bluestore/BlueStore.cc | 9 +++++++-- src/os/bluestore/BlueStore.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index c448185167d83..019c712f77a07 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -1676,6 +1676,7 @@ void BlueStore::ExtentMap::reshard(Onode *o, uint64_t min_alloc_size) // switch b to the new right-hand side, in case it // *also* has to get split. bstart += blob_offset; + onode->c->store->logger->inc(l_bluestore_blob_split); } else { must_span = true; break; @@ -2683,8 +2684,12 @@ void BlueStore::_init_logger() b.add_u64(l_bluestore_txc, "bluestore_txc", "Transactions committed"); b.add_u64(l_bluestore_onode_reshard, "bluestore_onode_reshard", "Onode extent map reshard events"); - b.add_u64(l_bluestore_gc, "bluestore_gc", "Sum for garbage collection reads"); - b.add_u64(l_bluestore_gc_bytes, "bluestore_gc_bytes", "garbage collected bytes"); + b.add_u64(l_bluestore_gc, "bluestore_gc", + "Sum for garbage collection reads"); + b.add_u64(l_bluestore_gc_bytes, "bluestore_gc_bytes", + "garbage collected bytes"); + b.add_u64(l_bluestore_blob_split, "bluestore_blob_split", + "Sum for blob splitting due to resharding"); logger = b.create_perf_counters(); g_ceph_context->get_perfcounters_collection()->add(logger); } diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index 8fc9216757575..4afffd760d2ca 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -94,6 +94,7 @@ enum { l_bluestore_onode_reshard, l_bluestore_gc, l_bluestore_gc_bytes, + l_bluestore_blob_split, l_bluestore_last }; -- 2.39.5