]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: add a counter to trace checksum latency
authorxie xingguo <xie.xingguo@zte.com.cn>
Sat, 24 Sep 2016 06:42:04 +0000 (14:42 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Sat, 24 Sep 2016 06:42:04 +0000 (14:42 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h

index 6fb0ab85ff407518f867fc8fe403f76bc43dfe10..32aa946c1fd8391cba62fadffe772ef5257656fe 100644 (file)
@@ -2342,6 +2342,8 @@ void BlueStore::_init_logger()
     "Average compress latency");
   b.add_time_avg(l_bluestore_decompress_lat, "decompress_lat",
     "Average decompress latency");
+  b.add_time_avg(l_bluestore_csum_lat, "csum_lat",
+    "Average checksum latency");
   b.add_u64(l_bluestore_compress_success_count, "compress_success_count",
     "Sum for beneficial compress ops");
 
@@ -4812,6 +4814,7 @@ int BlueStore::_verify_csum(OnodeRef& o,
 {
   int bad;
   uint64_t bad_csum;
+  utime_t start = ceph_clock_now(g_ceph_context);
   int r = blob->verify_csum(blob_xoffset, bl, &bad, &bad_csum);
   if (r < 0) {
     if (r == -1) {
@@ -4834,10 +4837,9 @@ int BlueStore::_verify_csum(OnodeRef& o,
     } else {
       derr << __func__ << " failed with exit code: " << cpp_strerror(r) << dendl;
     }
-    return r;
-  } else {
-    return 0;
   }
+  logger->tinc(l_bluestore_csum_lat, ceph_clock_now(g_ceph_context) - start);
+  return r;
 }
 
 int BlueStore::_decompress(bufferlist& source, bufferlist* result)
index b206bb087b14c5cf42a076b93b75c74578c0beaf..2806d991b7c70f55e77b26c53daed16e58b64d6b 100644 (file)
@@ -60,6 +60,7 @@ enum {
   l_bluestore_state_done_lat,
   l_bluestore_compress_lat,
   l_bluestore_decompress_lat,
+  l_bluestore_csum_lat,
   l_bluestore_compress_success_count,
   l_bluestore_write_pad_bytes,
   l_bluestore_wal_write_ops,