]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore/BlueStore: add perfcoutner:l_bluestore_write_penalty_read_ops
authorJianpeng Ma <jianpeng.ma@intel.com>
Mon, 6 Jun 2016 16:31:02 +0000 (00:31 +0800)
committerJianpeng Ma <jianpeng.ma@intel.com>
Mon, 6 Jun 2016 16:31:02 +0000 (00:31 +0800)
For write, because the align requirement it maybe need read data.
Using this perfcounter to record the read ops.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h

index a7b1ad930e0e717480e772a94a0ee77ffe070c32..0f7aa6865561cfe53fc01bd9d19991c0da7105e7 100644 (file)
@@ -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);
       }
     }
 
index cb763dbb1c7c5d029c1b79bb87f576d8419e7213..fd28f37e94ef71aaa7ac6d444bdb898abcd2654c 100644 (file)
@@ -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
 };