PGRef& pg,
ThreadPool::TPHandle &handle)
{
- [[maybe_unused]] auto span = tracing::osd::tracer.add_span("PGOpItem::run", op->osd_parent_span);
osd->dequeue_op(pg, op, handle);
pg->unlock();
}
pg->unlock();
}
-void PGScrubMapsCompared::run(OSD* osd,
- OSDShard* sdata,
- PGRef& pg,
- ThreadPool::TPHandle& handle)
-{
- pg->scrub_send_maps_compared(epoch_queued, handle);
- pg->unlock();
-}
-
void PGRepScrub::run(OSD* osd, OSDShard* sdata, PGRef& pg, ThreadPool::TPHandle& handle)
{
pg->replica_scrub(epoch_queued, activation_index, handle);
PGRef& pg,
ThreadPool::TPHandle &handle)
{
- osd->do_recovery(pg.get(), epoch_queued, reserved_pushes, handle);
+ osd->logger->tinc(
+ l_osd_recovery_queue_lat,
+ time_queued - ceph_clock_now());
+ osd->do_recovery(pg.get(), epoch_queued, reserved_pushes, priority, handle);
pg->unlock();
}
PGRef& pg,
ThreadPool::TPHandle &handle)
{
+ osd->logger->tinc(
+ l_osd_recovery_context_queue_lat,
+ time_queued - ceph_clock_now());
c.release()->complete(handle);
pg->unlock();
}
PGRef& pg,
ThreadPool::TPHandle &handle)
{
+ auto latency = time_queued - ceph_clock_now();
+ switch (op->get_req()->get_type()) {
+ case MSG_OSD_PG_PUSH:
+ osd->logger->tinc(l_osd_recovery_push_queue_lat, latency);
+ case MSG_OSD_PG_PUSH_REPLY:
+ osd->logger->tinc(l_osd_recovery_push_reply_queue_lat, latency);
+ case MSG_OSD_PG_PULL:
+ osd->logger->tinc(l_osd_recovery_pull_queue_lat, latency);
+ case MSG_OSD_PG_BACKFILL:
+ osd->logger->tinc(l_osd_recovery_backfill_queue_lat, latency);
+ case MSG_OSD_PG_BACKFILL_REMOVE:
+ osd->logger->tinc(l_osd_recovery_backfill_remove_queue_lat, latency);
+ case MSG_OSD_PG_SCAN:
+ osd->logger->tinc(l_osd_recovery_scan_queue_lat, latency);
+ }
osd->dequeue_op(pg, op, handle);
pg->unlock();
}