]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/scheduler/OpSchedulerItem: Fix calculation of recovery latency counters 62704/head
authorSridhar Seshasayee <sseshasa@redhat.com>
Mon, 7 Apr 2025 11:03:07 +0000 (16:33 +0530)
committerSridhar Seshasayee <sseshasa@redhat.com>
Mon, 7 Apr 2025 12:43:27 +0000 (18:13 +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
src/osd/scheduler/OpSchedulerItem.cc

index 1a6434618884559584eb130c40434c58dccff32e..9d680c1b95b7b1e785ef328eb608f59d882969e0 100644 (file)
@@ -181,7 +181,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();
 }
@@ -194,7 +194,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();
 }
@@ -214,7 +214,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);