From: Alex Ainscow Date: Thu, 5 Feb 2026 13:30:36 +0000 (+0000) Subject: osdc: Add split_op statistic X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b973092c57c3ab192b18f577d6e9e9d5a69da4ec;p=ceph-ci.git osdc: Add split_op statistic This statistic counts the number of OPs which have been submitted using the split op mechanism. It allows a user to check how useful this is and performance/development to check that this mechanism is being used in any given application. Signed-off-by: Alex Ainscow --- diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index a65226e7ea5..4e9057ca69b 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -191,6 +191,8 @@ enum { l_osdc_replica_read_bounced, l_osdc_replica_read_completed, + l_osdc_split_op_reads, + l_osdc_last, }; @@ -404,6 +406,8 @@ void Objecter::init() "Operations bounced by replica to be resent to primary"); pcb.add_u64_counter(l_osdc_replica_read_completed, "replica_read_completed", "Operations completed by replica"); + pcb.add_u64_counter(l_osdc_split_op_reads, "split_op_reads", + "Client read ops split by SplitOp"); logger = pcb.create_perf_counters(); cct->get_perfcounters_collection()->add(logger); @@ -2514,6 +2518,10 @@ void Objecter::_op_submit(Op *op, shunique_lock& sul, ceph_t ldout(cct, 10) << __func__ << " op " << op << dendl; + if (op->target.flags & CEPH_OSD_FLAG_FORCE_OSD) { + logger->inc(l_osdc_split_op_reads); + } + // pick target ceph_assert(op->session == NULL); OSDSession *s = NULL;