From: Igor Fedotov Date: Tue, 29 Nov 2016 13:26:34 +0000 (+0000) Subject: os/bluestore: add performance counter for garbage collector X-Git-Tag: v12.0.1~379^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cab983a5c9d44628c8b143a2136d5807fa132c56;p=ceph.git os/bluestore: add performance counter for garbage collector Signed-off-by: Igor Fedotov --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 0d7a23829c1..68e869d1760 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -3277,6 +3277,8 @@ void BlueStore::_init_logger() "Sum for blob splitting due to resharding"); b.add_u64(l_bluestore_extent_compress, "bluestore_extent_compress", "Sum for extents that have been removed due to compression"); + b.add_u64(l_bluestore_gc_merged, "bluestore_gc_merged", + "Sum for extents that have been merged due to garbage collection"); logger = b.create_perf_counters(); cct->get_perfcounters_collection()->add(logger); } @@ -8728,7 +8730,7 @@ void BlueStore::_do_garbage_collection( o->extent_map, wctx->old_extents, min_alloc_size); - if (benefit > g_conf->bluestore_gc_enable_total_threshold) { + if (benefit >= g_conf->bluestore_gc_enable_total_threshold) { auto& extents_to_collect = gc.get_extents_to_collect(); for (auto it = extents_to_collect.begin(); it != extents_to_collect.end(); @@ -8738,6 +8740,7 @@ void BlueStore::_do_garbage_collection( assert(r == (int)it->length); o->extent_map.fault_range(db, it->offset, it->length); _do_write_data(txc, c, o, it->offset, it->length, bl, wctx); + logger->inc(l_bluestore_gc_merged, it->length); } } } diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index 99b068a12b6..3c3bdb00e0d 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -106,6 +106,7 @@ enum { l_bluestore_onode_reshard, l_bluestore_blob_split, l_bluestore_extent_compress, + l_bluestore_gc_merged, l_bluestore_last };