From: Sage Weil Date: Mon, 17 Feb 2014 18:55:54 +0000 (-0800) Subject: osd: l_osd_tier_[try_]flush[_fail] X-Git-Tag: v0.78~164^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c45a477efcc74fb7f7bedf8624e290bf1e723962;p=ceph.git osd: l_osd_tier_[try_]flush[_fail] Signed-off-by: Sage Weil --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index a5ba1652f3e1..d725c6d63a23 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -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); } diff --git a/src/osd/OSD.h b/src/osd/OSD.h index ed9bc4e09484..73bbaad1143e 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -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, }; diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 25ab99bebe63..ae31ed70e383 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -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; }