]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: l_osd_tier_[try_]flush[_fail]
authorSage Weil <sage@inktank.com>
Mon, 17 Feb 2014 18:55:54 +0000 (10:55 -0800)
committerSage Weil <sage@inktank.com>
Tue, 18 Feb 2014 12:51:02 +0000 (04:51 -0800)
Signed-off-by: Sage Weil <sage@inktank.com>
src/osd/OSD.cc
src/osd/OSD.h
src/osd/ReplicatedPG.cc

index a5ba1652f3e17753de3957d94e4bae68ee59b053..d725c6d63a23e32fed771e67097fdabcde80a6af 100644 (file)
@@ -1435,6 +1435,10 @@ void OSD::create_logger()
   osd_plb.add_u64_counter(l_osd_copyfrom, "copyfrom");
 
   osd_plb.add_u64_counter(l_osd_tier_promote, "tier_promote");
+  osd_plb.add_u64_counter(l_osd_tier_flush, "tier_flush");
+  osd_plb.add_u64_counter(l_osd_tier_flush_fail, "tier_flush_fail");
+  osd_plb.add_u64_counter(l_osd_tier_try_flush, "tier_try_flush");
+  osd_plb.add_u64_counter(l_osd_tier_try_flush_fail, "tier_try_flush_fail");
   logger = osd_plb.create_perf_counters();
   cct->get_perfcounters_collection()->add(logger);
 }
index ed9bc4e0948450f487dbd7fd44b4739b5c4794c4..73bbaad1143e4ee7765badf13121bbf5a0dff0bc 100644 (file)
@@ -125,6 +125,10 @@ enum {
   l_osd_copyfrom,
 
   l_osd_tier_promote,
+  l_osd_tier_flush,
+  l_osd_tier_flush_fail,
+  l_osd_tier_try_flush,
+  l_osd_tier_try_flush_fail,
   l_osd_last,
 };
 
index 25ab99bebe6314b317e7ee282a1092b8daa5815c..ae31ed70e383236bcf32f48db1857e1c20c74205 100644 (file)
@@ -5904,6 +5904,10 @@ int ReplicatedPG::try_flush_mark_clean(FlushOpRef fop)
       kick_object_context_blocked(obc);
     }
     flush_ops.erase(oid);
+    if (fop->blocking)
+      osd->logger->inc(l_osd_tier_flush_fail);
+    else
+      osd->logger->inc(l_osd_tier_try_flush_fail);
     return -EBUSY;
   }
 
@@ -5918,6 +5922,7 @@ int ReplicatedPG::try_flush_mark_clean(FlushOpRef fop)
       return -EINPROGRESS;    // will retry.   this ctx is still alive!
     } else {
       dout(10) << __func__ << " failed write lock, no op; failing" << dendl;
+      osd->logger->inc(l_osd_tier_try_flush_fail);
       cancel_flush(fop, false);
       return -ECANCELED;
     }
@@ -5956,6 +5961,12 @@ int ReplicatedPG::try_flush_mark_clean(FlushOpRef fop)
   simple_repop_submit(repop);
 
   flush_ops.erase(oid);
+
+  if (fop->blocking)
+    osd->logger->inc(l_osd_tier_flush);
+  else
+    osd->logger->inc(l_osd_tier_try_flush);
+
   return -EINPROGRESS;
 }