]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/: add counters for ops delayed due to degraded|unreadable target
authorSamuel Just <sjust@redhat.com>
Mon, 10 Apr 2023 21:18:49 +0000 (14:18 -0700)
committerSridhar Seshasayee <sseshasa@redhat.com>
Mon, 8 May 2023 09:16:25 +0000 (14:46 +0530)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/osd/PrimaryLogPG.cc
src/osd/osd_perf_counters.cc
src/osd/osd_perf_counters.h

index 63757e232d8b2f4218821a71e0a54e95e5d07ed0..f3957a6a2cf9da04000c1ab797fbde7866f399bb 100644 (file)
@@ -632,6 +632,7 @@ void PrimaryLogPG::wait_for_unreadable_object(
   maybe_kick_recovery(soid);
   waiting_for_unreadable_object[soid].push_back(op);
   op->mark_delayed("waiting for missing object");
+  osd->logger->inc(l_osd_op_delayed_unreadable);
 }
 
 bool PrimaryLogPG::is_degraded_or_backfilling_object(const hobject_t& soid)
@@ -691,6 +692,7 @@ void PrimaryLogPG::wait_for_degraded_object(const hobject_t& soid, OpRequestRef
   maybe_kick_recovery(soid);
   waiting_for_degraded_object[soid].push_back(op);
   op->mark_delayed("waiting for degraded object");
+  osd->logger->inc(l_osd_op_delayed_degraded);
 }
 
 void PrimaryLogPG::block_write_on_full_cache(
index 1767cbec1ed9c7a474107187d2c76805a0f0f193..588808d6467e1ba2dd67259509af185f730a7b5f 100644 (file)
@@ -56,6 +56,13 @@ PerfCounters *build_osd_logger(CephContext *cct) {
     l_osd_op_prepare_lat, "op_prepare_latency",
     "Latency of client operations (excluding queue time and wait for finished)");
 
+  osd_plb.add_u64_counter(
+    l_osd_op_delayed_unreadable, "op_delayed_unreadable",
+    "Count of ops delayed due to target object being unreadable");
+  osd_plb.add_u64_counter(
+    l_osd_op_delayed_degraded, "op_delayed_degraded",
+    "Count of ops delayed due to target object being degraded");
+
   osd_plb.add_u64_counter(
     l_osd_op_r, "op_r", "Client read operations");
   osd_plb.add_u64_counter(
index 93fef68feb51f9087ff25ff62cafddfb045bde2c..2445a9dc2c3888174e4ed85e7c71f2c6f9365251 100644 (file)
@@ -36,6 +36,9 @@ enum {
   l_osd_op_rw_process_lat,
   l_osd_op_rw_prepare_lat,
 
+  l_osd_op_delayed_unreadable,
+  l_osd_op_delayed_degraded,
+
   l_osd_op_before_queue_op_lat,
   l_osd_op_before_dequeue_op_lat,