]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/scheduler/OpSchedulerItem: Fix calculation of recovery latency counters 62801/head
authorSridhar Seshasayee <sseshasa@redhat.com>
Mon, 7 Apr 2025 11:03:07 +0000 (16:33 +0530)
committerSridhar Seshasayee <sseshasa@redhat.com>
Mon, 14 Apr 2025 06:55:59 +0000 (12:25 +0530)
The patch fixes calculation of latency perf counters for the following
objects:
 - PGRecovery
 - PGRecoveryContext and
 - PGRecoveryMsg

Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
Fixes: https://tracker.ceph.com/issues/70811
(cherry picked from commit 9a246e4f22b470c96454d953738f359ebb8d2168)

src/osd/scheduler/OpSchedulerItem.cc

index d1abc264a8f8c5a1f491e8cc646c488a0a59264c..06b3cb5235dac714d2acbfb66fdd683e156acb0c 100644 (file)
@@ -217,7 +217,7 @@ void PGRecovery::run(
 {
   osd->logger->tinc(
     l_osd_recovery_queue_lat,
-    time_queued - ceph_clock_now());
+    ceph_clock_now() - time_queued);
   osd->do_recovery(pg.get(), epoch_queued, reserved_pushes, priority, handle);
   pg->unlock();
 }
@@ -230,7 +230,7 @@ void PGRecoveryContext::run(
 {
   osd->logger->tinc(
     l_osd_recovery_context_queue_lat,
-    time_queued - ceph_clock_now());
+    ceph_clock_now() - time_queued);
   c.release()->complete(handle);
   pg->unlock();
 }
@@ -250,7 +250,7 @@ void PGRecoveryMsg::run(
   PGRef& pg,
   ThreadPool::TPHandle &handle)
 {
-  auto latency = time_queued - ceph_clock_now();
+  auto latency = ceph_clock_now() - time_queued;
   switch (op->get_req()->get_type()) {
   case MSG_OSD_PG_PUSH:
     osd->logger->tinc(l_osd_recovery_push_queue_lat, latency);