]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: add performance counter for garbage collector
authorIgor Fedotov <ifedotov@mirantis.com>
Tue, 29 Nov 2016 13:26:34 +0000 (13:26 +0000)
committerIgor Fedotov <ifedotov@mirantis.com>
Thu, 2 Feb 2017 15:22:50 +0000 (15:22 +0000)
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h

index 0d7a23829c1a0c746a581f44136895769ed412d0..68e869d1760c58504f3932a3bb4ede94c4eef014 100644 (file)
@@ -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);
     }
   }
 }
index 99b068a12b641c4abb999a7fce01792f735bf99d..3c3bdb00e0d36706b8acdf9ac677bfbcfebddc53 100644 (file)
@@ -106,6 +106,7 @@ enum {
   l_bluestore_onode_reshard,
   l_bluestore_blob_split,
   l_bluestore_extent_compress,
+  l_bluestore_gc_merged,
   l_bluestore_last
 };