From: Matthew Heler Date: Sun, 26 Apr 2026 21:00:44 +0000 (-0500) Subject: rgw/lc: drop per-bucket LC counters to PRIO_DEBUGONLY X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=27e20dda54077de68a383334f4a97a748e6aa1fd;p=ceph.git rgw/lc: drop per-bucket LC counters to PRIO_DEBUGONLY mgr's perf-schema bridge silently drops labeled counters on the way out, so shipping the per-bucket LC counters up through MgrReport just costs ingest memory for data mgr can't expose anyway. ceph-exporter already handles labeled counters via the daemon admin socket, so make that the only path. Signed-off-by: Matthew N. Heler --- diff --git a/doc/radosgw/metrics.rst b/doc/radosgw/metrics.rst index b78ce681c91b..e27babcbaaea 100644 --- a/doc/radosgw/metrics.rst +++ b/doc/radosgw/metrics.rst @@ -277,6 +277,8 @@ To track lifecycle metrics per bucket, set :confval:`rgw_lc_counters_cache` to ` Lifecycle metrics are stored as labeled performance counters in memory. All counters are lost when the Ceph Object Gateway restarts or crashes. +Since ``ceph-mgr`` cannot expose labeled counters today; use the per-host ``ceph-exporter`` daemon to scrape these metrics. + Lifecycle Counter Cache Size & Eviction ---------------------------------------- diff --git a/src/rgw/rgw_perf_counters.cc b/src/rgw/rgw_perf_counters.cc index dab47012c515..6019e449977b 100644 --- a/src/rgw/rgw_perf_counters.cc +++ b/src/rgw/rgw_perf_counters.cc @@ -238,7 +238,12 @@ ceph::perf_counters::PerfCountersCache *lc_counters_cache = nullptr; const std::string rgw_lc_counters_key = "rgw_lc_per_bucket"; void add_lc_counters(PerfCountersBuilder *pcb) { - pcb->set_prio_default(PerfCountersBuilder::PRIO_USEFUL); + /* + * mgr can't expose labeled counters via its prometheus module, so + * register at PRIO_DEBUGONLY to keep them out of MgrReport under the + * default mgr_stats_threshold. + */ + pcb->set_prio_default(PerfCountersBuilder::PRIO_DEBUGONLY); pcb->add_u64(l_rgw_lc_per_bucket_start_time, "start_time", "LC processing start timestamp (Unix epoch seconds)");