]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/scheduler/OpSchedulerItem: Fix calculation of recovery latency counters 62802/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:58:34 +0000 (12:28 +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 ecad656bab9a4b1a30a51337f127c0c92d81de35..f44443f70cc467a94e64f3f00cd70f78b36bed31 100644 (file)
@@ -190,7 +190,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();
 }
@@ -203,7 +203,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();
 }
@@ -223,7 +223,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);