]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw/lc: drop per-bucket LC counters to PRIO_DEBUGONLY 66064/head
authorMatthew Heler <matthew.heler@hotmail.com>
Sun, 26 Apr 2026 21:00:44 +0000 (16:00 -0500)
committerMatthew N. Heler <matthew.heler@hotmail.com>
Mon, 27 Apr 2026 20:12:03 +0000 (15:12 -0500)
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 <matthew.heler@hotmail.com>
doc/radosgw/metrics.rst
src/rgw/rgw_perf_counters.cc

index b78ce681c91bf6c40814f1fcd39a13b125ee6878..e27babcbaaeaeb964396098cbadeee73be8c958e 100644 (file)
@@ -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
 ----------------------------------------
 
index dab47012c5158f40176281b8e5f45907e72a4c5a..6019e449977bb64533b4a93bf0d8257cb26def88 100644 (file)
@@ -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)");