From 3f41c9f3e696ba844e95820aa9cbe0d44e1ebab2 Mon Sep 17 00:00:00 2001 From: Costa Tsaousis Date: Sun, 16 Aug 2026 02:51:16 +0000 Subject: [PATCH] Update Ceph Tentacle source contract --- .../ceph/SOURCE-REGISTRY.generator.yaml | 2 +- prometheus/profiles/ceph/SOURCE-REGISTRY.yaml | 781 +++++++++++------- .../profiles/ceph/SOURCE-SEMANTICS.yaml | 474 ++++++++++- .../ceph_tentacle_ceph_exporter_limit11.prom | 16 + .../fixtures/ceph_tentacle_mgr_limit11.prom | 50 ++ .../profiles/ceph/generator/generate.py | 70 +- .../ceph/generator/test_negative_parser.py | 49 ++ 7 files changed, 1097 insertions(+), 345 deletions(-) diff --git a/prometheus/profiles/ceph/SOURCE-REGISTRY.generator.yaml b/prometheus/profiles/ceph/SOURCE-REGISTRY.generator.yaml index 19652fe..ca12967 100644 --- a/prometheus/profiles/ceph/SOURCE-REGISTRY.generator.yaml +++ b/prometheus/profiles/ceph/SOURCE-REGISTRY.generator.yaml @@ -150,7 +150,7 @@ upstreams: - prometheus_client/metrics_core.py ceph_tentacle: repository: ceph/ceph - commit: 0fcffee29411e3a38036764817b6e1afc59741cc + commit: 06c2f9c35b67055a8a6fb99d1be236b3c4832ace paths: - src/blk/kernel/KernelDevice.cc - src/client/Client.cc diff --git a/prometheus/profiles/ceph/SOURCE-REGISTRY.yaml b/prometheus/profiles/ceph/SOURCE-REGISTRY.yaml index 05dfaef..74e5c1e 100644 --- a/prometheus/profiles/ceph/SOURCE-REGISTRY.yaml +++ b/prometheus/profiles/ceph/SOURCE-REGISTRY.yaml @@ -8980,7 +8980,7 @@ groups: range: {start: 462, end: 476} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 1769, end: 1794} + range: {start: 1850, end: 1875} - upstream: ceph_tentacle path: 'src/rgw/driver/rados/rgw_sync_counters.cc' range: {start: 17, end: 17} @@ -9029,7 +9029,7 @@ groups: range: {start: 462, end: 476} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 1769, end: 1794} + range: {start: 1850, end: 1875} - upstream: ceph_tentacle path: 'src/rgw/driver/rados/rgw_sync_counters.cc' range: {start: 19, end: 19} @@ -9078,7 +9078,7 @@ groups: range: {start: 462, end: 476} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 1769, end: 1794} + range: {start: 1850, end: 1875} - upstream: ceph_tentacle path: 'src/rgw/driver/rados/rgw_sync_counters.cc' range: {start: 18, end: 18} @@ -9109,7 +9109,7 @@ groups: range: {start: 462, end: 476} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 1769, end: 1794} + range: {start: 1850, end: 1875} - upstream: ceph_tentacle path: 'src/rgw/driver/rados/rgw_sync_counters.cc' range: {start: 24, end: 24} @@ -9158,7 +9158,7 @@ groups: range: {start: 462, end: 476} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 1769, end: 1794} + range: {start: 1850, end: 1875} - upstream: ceph_tentacle path: 'src/rgw/driver/rados/rgw_sync_counters.cc' range: {start: 22, end: 22} @@ -9207,7 +9207,7 @@ groups: range: {start: 462, end: 476} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 1769, end: 1794} + range: {start: 1850, end: 1875} - upstream: ceph_tentacle path: 'src/rgw/driver/rados/rgw_sync_counters.cc' range: {start: 21, end: 21} @@ -20613,7 +20613,7 @@ groups: range: {start: 13512, end: 13513} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13773, end: 13774} + range: {start: 13776, end: 13777} ceph_mds_cache_dir_send_discover: family: {exact: 'ceph_mds_cache_dir_send_discover'} prometheus: {type: counter, shape: scalar} @@ -20639,7 +20639,7 @@ groups: range: {start: 13510, end: 13511} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13771, end: 13772} + range: {start: 13774, end: 13775} ceph_mds_cache_dir_try_discover: family: {exact: 'ceph_mds_cache_dir_try_discover'} prometheus: {type: counter, shape: scalar} @@ -20665,7 +20665,7 @@ groups: range: {start: 13508, end: 13509} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13769, end: 13770} + range: {start: 13772, end: 13773} ceph_mds_cache_dir_update: family: {exact: 'ceph_mds_cache_dir_update'} prometheus: {type: counter, shape: scalar} @@ -20691,7 +20691,7 @@ groups: range: {start: 13504, end: 13505} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13765, end: 13766} + range: {start: 13768, end: 13769} ceph_mds_cache_dir_update_receipt: family: {exact: 'ceph_mds_cache_dir_update_receipt'} prometheus: {type: counter, shape: scalar} @@ -20717,7 +20717,7 @@ groups: range: {start: 13506, end: 13507} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13767, end: 13768} + range: {start: 13770, end: 13771} ceph_mds_cache_ireq_enqueue_scrub: family: {exact: 'ceph_mds_cache_ireq_enqueue_scrub'} prometheus: {type: counter, shape: scalar} @@ -20743,7 +20743,7 @@ groups: range: {start: 13553, end: 13554} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13814, end: 13815} + range: {start: 13817, end: 13818} ceph_mds_cache_ireq_exportdir: family: {exact: 'ceph_mds_cache_ireq_exportdir'} prometheus: {type: counter, shape: scalar} @@ -20769,7 +20769,7 @@ groups: range: {start: 13555, end: 13556} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13816, end: 13817} + range: {start: 13819, end: 13820} ceph_mds_cache_ireq_flush: family: {exact: 'ceph_mds_cache_ireq_flush'} prometheus: {type: counter, shape: scalar} @@ -20795,7 +20795,7 @@ groups: range: {start: 13557, end: 13558} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13818, end: 13819} + range: {start: 13821, end: 13822} ceph_mds_cache_ireq_fragmentdir: family: {exact: 'ceph_mds_cache_ireq_fragmentdir'} prometheus: {type: counter, shape: scalar} @@ -20821,7 +20821,7 @@ groups: range: {start: 13559, end: 13560} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13820, end: 13821} + range: {start: 13823, end: 13824} ceph_mds_cache_ireq_fragstats: family: {exact: 'ceph_mds_cache_ireq_fragstats'} prometheus: {type: counter, shape: scalar} @@ -20847,7 +20847,7 @@ groups: range: {start: 13561, end: 13562} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13822, end: 13823} + range: {start: 13825, end: 13826} ceph_mds_cache_ireq_inodestats: family: {exact: 'ceph_mds_cache_ireq_inodestats'} prometheus: {type: counter, shape: scalar} @@ -20873,7 +20873,7 @@ groups: range: {start: 13563, end: 13564} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13824, end: 13825} + range: {start: 13827, end: 13828} ceph_mds_cache_ireq_quiesce_inode: family: {exact: 'ceph_mds_cache_ireq_quiesce_inode'} prometheus: {type: counter, shape: scalar} @@ -20896,7 +20896,7 @@ groups: range: {start: 13551, end: 13552} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13812, end: 13813} + range: {start: 13815, end: 13816} ceph_mds_cache_ireq_quiesce_path: family: {exact: 'ceph_mds_cache_ireq_quiesce_path'} prometheus: {type: counter, shape: scalar} @@ -20919,7 +20919,7 @@ groups: range: {start: 13549, end: 13550} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13810, end: 13811} + range: {start: 13813, end: 13814} ceph_mds_cache_num_recovering_enqueued: family: {exact: 'ceph_mds_cache_num_recovering_enqueued'} prometheus: {type: gauge, shape: scalar} @@ -20945,7 +20945,7 @@ groups: range: {start: 13518, end: 13520} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13779, end: 13781} + range: {start: 13782, end: 13784} ceph_mds_cache_num_recovering_prioritized: family: {exact: 'ceph_mds_cache_num_recovering_prioritized'} prometheus: {type: gauge, shape: scalar} @@ -20971,7 +20971,7 @@ groups: range: {start: 13529, end: 13530} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13790, end: 13791} + range: {start: 13793, end: 13794} ceph_mds_cache_num_recovering_processing: family: {exact: 'ceph_mds_cache_num_recovering_processing'} prometheus: {type: gauge, shape: scalar} @@ -20997,7 +20997,7 @@ groups: range: {start: 13527, end: 13528} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13788, end: 13789} + range: {start: 13791, end: 13792} ceph_mds_cache_num_strays: family: {exact: 'ceph_mds_cache_num_strays'} prometheus: {type: gauge, shape: scalar} @@ -21023,7 +21023,7 @@ groups: range: {start: 13516, end: 13517} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13777, end: 13778} + range: {start: 13780, end: 13781} ceph_mds_cache_num_strays_delayed: family: {exact: 'ceph_mds_cache_num_strays_delayed'} prometheus: {type: gauge, shape: scalar} @@ -21049,7 +21049,7 @@ groups: range: {start: 13535, end: 13536} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13796, end: 13797} + range: {start: 13799, end: 13800} ceph_mds_cache_num_strays_enqueuing: family: {exact: 'ceph_mds_cache_num_strays_enqueuing'} prometheus: {type: gauge, shape: scalar} @@ -21075,7 +21075,7 @@ groups: range: {start: 13537, end: 13538} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13798, end: 13799} + range: {start: 13801, end: 13802} ceph_mds_cache_recovery_completed: family: {exact: 'ceph_mds_cache_recovery_completed'} prometheus: {type: counter, shape: scalar} @@ -21101,7 +21101,7 @@ groups: range: {start: 13521, end: 13523} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13782, end: 13784} + range: {start: 13785, end: 13787} ceph_mds_cache_recovery_started: family: {exact: 'ceph_mds_cache_recovery_started'} prometheus: {type: counter, shape: scalar} @@ -21127,7 +21127,7 @@ groups: range: {start: 13531, end: 13532} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13792, end: 13793} + range: {start: 13795, end: 13796} ceph_mds_cache_strays_created: family: {exact: 'ceph_mds_cache_strays_created'} prometheus: {type: counter, shape: scalar} @@ -21153,7 +21153,7 @@ groups: range: {start: 13539, end: 13540} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13800, end: 13801} + range: {start: 13803, end: 13804} ceph_mds_cache_strays_enqueued: family: {exact: 'ceph_mds_cache_strays_enqueued'} prometheus: {type: counter, shape: scalar} @@ -21179,7 +21179,7 @@ groups: range: {start: 13541, end: 13542} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13802, end: 13803} + range: {start: 13805, end: 13806} ceph_mds_cache_strays_migrated: family: {exact: 'ceph_mds_cache_strays_migrated'} prometheus: {type: counter, shape: scalar} @@ -21205,7 +21205,7 @@ groups: range: {start: 13545, end: 13546} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13806, end: 13807} + range: {start: 13809, end: 13810} ceph_mds_cache_strays_reintegrated: family: {exact: 'ceph_mds_cache_strays_reintegrated'} prometheus: {type: counter, shape: scalar} @@ -21231,7 +21231,7 @@ groups: range: {start: 13543, end: 13544} - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13804, end: 13805} + range: {start: 13807, end: 13808} ceph_mds_cache_uninline_started: family: {exact: 'ceph_mds_cache_uninline_started'} prometheus: {type: counter, shape: scalar} @@ -21251,7 +21251,7 @@ groups: source_locations: - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13828, end: 13829} + range: {start: 13831, end: 13832} ceph_mds_cache_uninline_succeeded: family: {exact: 'ceph_mds_cache_uninline_succeeded'} prometheus: {type: counter, shape: scalar} @@ -21271,7 +21271,7 @@ groups: source_locations: - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13830, end: 13831} + range: {start: 13833, end: 13834} ceph_mds_cache_uninline_write_failed: family: {exact: 'ceph_mds_cache_uninline_write_failed'} prometheus: {type: counter, shape: scalar} @@ -21291,7 +21291,7 @@ groups: source_locations: - upstream: ceph_tentacle path: 'src/mds/MDCache.cc' - range: {start: 13832, end: 13833} + range: {start: 13835, end: 13836} ceph_mds_caps: family: {exact: 'ceph_mds_caps'} prometheus: {type: gauge, shape: scalar} @@ -23417,7 +23417,7 @@ groups: range: {start: 181, end: 183} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 195, end: 197} + range: {start: 196, end: 198} ceph_mds_server_cap_revoke_eviction: family: {exact: 'ceph_mds_server_cap_revoke_eviction'} prometheus: {type: counter, shape: scalar} @@ -23443,7 +23443,7 @@ groups: range: {start: 179, end: 180} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 193, end: 194} + range: {start: 194, end: 195} ceph_mds_server_dispatch_client_request: family: {exact: 'ceph_mds_server_dispatch_client_request'} prometheus: {type: counter, shape: scalar} @@ -23469,7 +23469,7 @@ groups: range: {start: 251, end: 252} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 265, end: 266} + range: {start: 266, end: 267} ceph_mds_server_dispatch_server_request: family: {exact: 'ceph_mds_server_dispatch_server_request'} prometheus: {type: counter, shape: scalar} @@ -23495,7 +23495,7 @@ groups: range: {start: 253, end: 254} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 267, end: 268} + range: {start: 268, end: 269} ceph_mds_server_handle_client_request: family: {exact: 'ceph_mds_server_handle_client_request'} prometheus: {type: counter, shape: scalar} @@ -23521,7 +23521,7 @@ groups: range: {start: 172, end: 173} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 186, end: 187} + range: {start: 187, end: 188} ceph_mds_server_handle_client_session: family: {exact: 'ceph_mds_server_handle_client_session'} prometheus: {type: counter, shape: scalar} @@ -23547,7 +23547,7 @@ groups: range: {start: 176, end: 178} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 190, end: 192} + range: {start: 191, end: 193} ceph_mds_server_handle_peer_request: family: {exact: 'ceph_mds_server_handle_peer_request'} prometheus: {type: counter, shape: scalar} @@ -23573,7 +23573,7 @@ groups: range: {start: 174, end: 175} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 188, end: 189} + range: {start: 189, end: 190} ceph_mds_server_req_blockdiff_latency_count: family: {exact: 'ceph_mds_server_req_blockdiff_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23596,7 +23596,7 @@ groups: range: {start: 247, end: 248} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 261, end: 262} + range: {start: 262, end: 263} ceph_mds_server_req_create_latency_count: family: {exact: 'ceph_mds_server_req_create_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23622,7 +23622,7 @@ groups: range: {start: 219, end: 220} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 233, end: 234} + range: {start: 234, end: 235} ceph_mds_server_req_getattr_latency_count: family: {exact: 'ceph_mds_server_req_getattr_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23648,7 +23648,7 @@ groups: range: {start: 199, end: 200} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 213, end: 214} + range: {start: 214, end: 215} ceph_mds_server_req_getfilelock_latency_count: family: {exact: 'ceph_mds_server_req_getfilelock_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23674,7 +23674,7 @@ groups: range: {start: 217, end: 218} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 231, end: 232} + range: {start: 232, end: 233} ceph_mds_server_req_getvxattr_latency_count: family: {exact: 'ceph_mds_server_req_getvxattr_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23700,7 +23700,7 @@ groups: range: {start: 207, end: 208} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 221, end: 222} + range: {start: 222, end: 223} ceph_mds_server_req_link_latency_count: family: {exact: 'ceph_mds_server_req_link_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23726,7 +23726,7 @@ groups: range: {start: 225, end: 226} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 239, end: 240} + range: {start: 240, end: 241} ceph_mds_server_req_lookup_latency_count: family: {exact: 'ceph_mds_server_req_lookup_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23752,7 +23752,7 @@ groups: range: {start: 195, end: 196} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 209, end: 210} + range: {start: 210, end: 211} ceph_mds_server_req_lookuphash_latency_count: family: {exact: 'ceph_mds_server_req_lookuphash_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23778,7 +23778,7 @@ groups: range: {start: 187, end: 188} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 201, end: 202} + range: {start: 202, end: 203} ceph_mds_server_req_lookupino_latency_count: family: {exact: 'ceph_mds_server_req_lookupino_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23804,7 +23804,7 @@ groups: range: {start: 189, end: 190} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 203, end: 204} + range: {start: 204, end: 205} ceph_mds_server_req_lookupname_latency_count: family: {exact: 'ceph_mds_server_req_lookupname_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23830,7 +23830,7 @@ groups: range: {start: 193, end: 194} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 207, end: 208} + range: {start: 208, end: 209} ceph_mds_server_req_lookupparent_latency_count: family: {exact: 'ceph_mds_server_req_lookupparent_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23856,7 +23856,7 @@ groups: range: {start: 191, end: 192} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 205, end: 206} + range: {start: 206, end: 207} ceph_mds_server_req_lookupsnap_latency_count: family: {exact: 'ceph_mds_server_req_lookupsnap_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23882,7 +23882,7 @@ groups: range: {start: 197, end: 198} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 211, end: 212} + range: {start: 212, end: 213} ceph_mds_server_req_lssnap_latency_count: family: {exact: 'ceph_mds_server_req_lssnap_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23908,7 +23908,7 @@ groups: range: {start: 237, end: 238} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 251, end: 252} + range: {start: 252, end: 253} ceph_mds_server_req_mkdir_latency_count: family: {exact: 'ceph_mds_server_req_mkdir_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23934,7 +23934,7 @@ groups: range: {start: 233, end: 234} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 247, end: 248} + range: {start: 248, end: 249} ceph_mds_server_req_mknod_latency_count: family: {exact: 'ceph_mds_server_req_mknod_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23960,7 +23960,7 @@ groups: range: {start: 223, end: 224} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 237, end: 238} + range: {start: 238, end: 239} ceph_mds_server_req_mksnap_latency_count: family: {exact: 'ceph_mds_server_req_mksnap_latency_count'} prometheus: {type: counter, shape: scalar} @@ -23986,7 +23986,7 @@ groups: range: {start: 239, end: 240} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 253, end: 254} + range: {start: 254, end: 255} ceph_mds_server_req_open_latency_count: family: {exact: 'ceph_mds_server_req_open_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24012,7 +24012,7 @@ groups: range: {start: 221, end: 222} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 235, end: 236} + range: {start: 236, end: 237} ceph_mds_server_req_readdir_latency_count: family: {exact: 'ceph_mds_server_req_readdir_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24038,7 +24038,7 @@ groups: range: {start: 213, end: 214} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 227, end: 228} + range: {start: 228, end: 229} ceph_mds_server_req_rename_latency_count: family: {exact: 'ceph_mds_server_req_rename_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24064,7 +24064,7 @@ groups: range: {start: 231, end: 232} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 245, end: 246} + range: {start: 246, end: 247} ceph_mds_server_req_renamesnap_latency_count: family: {exact: 'ceph_mds_server_req_renamesnap_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24090,7 +24090,7 @@ groups: range: {start: 243, end: 244} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 257, end: 258} + range: {start: 258, end: 259} ceph_mds_server_req_rmdir_latency_count: family: {exact: 'ceph_mds_server_req_rmdir_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24116,7 +24116,7 @@ groups: range: {start: 229, end: 230} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 243, end: 244} + range: {start: 244, end: 245} ceph_mds_server_req_rmsnap_latency_count: family: {exact: 'ceph_mds_server_req_rmsnap_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24142,7 +24142,7 @@ groups: range: {start: 241, end: 242} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 255, end: 256} + range: {start: 256, end: 257} ceph_mds_server_req_rmxattr_latency_count: family: {exact: 'ceph_mds_server_req_rmxattr_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24168,7 +24168,7 @@ groups: range: {start: 211, end: 212} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 225, end: 226} + range: {start: 226, end: 227} ceph_mds_server_req_setattr_latency_count: family: {exact: 'ceph_mds_server_req_setattr_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24194,7 +24194,7 @@ groups: range: {start: 201, end: 202} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 215, end: 216} + range: {start: 216, end: 217} ceph_mds_server_req_setdirlayout_latency_count: family: {exact: 'ceph_mds_server_req_setdirlayout_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24220,7 +24220,7 @@ groups: range: {start: 205, end: 206} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 219, end: 220} + range: {start: 220, end: 221} ceph_mds_server_req_setfilelock_latency_count: family: {exact: 'ceph_mds_server_req_setfilelock_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24246,7 +24246,7 @@ groups: range: {start: 215, end: 216} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 229, end: 230} + range: {start: 230, end: 231} ceph_mds_server_req_setlayout_latency_count: family: {exact: 'ceph_mds_server_req_setlayout_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24272,7 +24272,7 @@ groups: range: {start: 203, end: 204} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 217, end: 218} + range: {start: 218, end: 219} ceph_mds_server_req_setxattr_latency_count: family: {exact: 'ceph_mds_server_req_setxattr_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24298,7 +24298,7 @@ groups: range: {start: 209, end: 210} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 223, end: 224} + range: {start: 224, end: 225} ceph_mds_server_req_snapdiff_latency_count: family: {exact: 'ceph_mds_server_req_snapdiff_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24324,7 +24324,7 @@ groups: range: {start: 245, end: 246} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 259, end: 260} + range: {start: 260, end: 261} ceph_mds_server_req_symlink_latency_count: family: {exact: 'ceph_mds_server_req_symlink_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24350,7 +24350,7 @@ groups: range: {start: 235, end: 236} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 249, end: 250} + range: {start: 250, end: 251} ceph_mds_server_req_unlink_latency_count: family: {exact: 'ceph_mds_server_req_unlink_latency_count'} prometheus: {type: counter, shape: scalar} @@ -24376,7 +24376,7 @@ groups: range: {start: 227, end: 228} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 241, end: 242} + range: {start: 242, end: 243} ceph_mds_sessions_average_load: family: {exact: 'ceph_mds_sessions_average_load'} prometheus: {type: gauge, shape: scalar} @@ -24402,7 +24402,7 @@ groups: range: {start: 71, end: 71} - upstream: ceph_tentacle path: 'src/mds/SessionMap.cc' - range: {start: 110, end: 110} + range: {start: 111, end: 111} ceph_mds_sessions_avg_session_uptime: family: {exact: 'ceph_mds_sessions_avg_session_uptime'} prometheus: {type: gauge, shape: scalar} @@ -24428,7 +24428,7 @@ groups: range: {start: 72, end: 73} - upstream: ceph_tentacle path: 'src/mds/SessionMap.cc' - range: {start: 111, end: 112} + range: {start: 112, end: 113} ceph_mds_sessions_mdthresh_evicted: family: {exact: 'ceph_mds_sessions_mdthresh_evicted'} prometheus: {type: gauge, shape: scalar} @@ -24454,7 +24454,7 @@ groups: range: {start: 74, end: 75} - upstream: ceph_tentacle path: 'src/mds/SessionMap.cc' - range: {start: 113, end: 114} + range: {start: 114, end: 115} ceph_mds_sessions_session_add: family: {exact: 'ceph_mds_sessions_session_add'} prometheus: {type: counter, shape: scalar} @@ -24480,7 +24480,7 @@ groups: range: {start: 62, end: 63} - upstream: ceph_tentacle path: 'src/mds/SessionMap.cc' - range: {start: 101, end: 102} + range: {start: 102, end: 103} ceph_mds_sessions_session_count: family: {exact: 'ceph_mds_sessions_session_count'} prometheus: {type: gauge, shape: scalar} @@ -24506,7 +24506,7 @@ groups: range: {start: 58, end: 59} - upstream: ceph_tentacle path: 'src/mds/SessionMap.cc' - range: {start: 97, end: 98} + range: {start: 98, end: 99} ceph_mds_sessions_session_remove: family: {exact: 'ceph_mds_sessions_session_remove'} prometheus: {type: counter, shape: scalar} @@ -24532,7 +24532,7 @@ groups: range: {start: 64, end: 65} - upstream: ceph_tentacle path: 'src/mds/SessionMap.cc' - range: {start: 103, end: 104} + range: {start: 104, end: 105} ceph_mds_sessions_sessions_open: family: {exact: 'ceph_mds_sessions_sessions_open'} prometheus: {type: gauge, shape: scalar} @@ -24558,7 +24558,7 @@ groups: range: {start: 66, end: 67} - upstream: ceph_tentacle path: 'src/mds/SessionMap.cc' - range: {start: 105, end: 106} + range: {start: 106, end: 107} ceph_mds_sessions_sessions_stale: family: {exact: 'ceph_mds_sessions_sessions_stale'} prometheus: {type: gauge, shape: scalar} @@ -24584,7 +24584,7 @@ groups: range: {start: 68, end: 69} - upstream: ceph_tentacle path: 'src/mds/SessionMap.cc' - range: {start: 107, end: 108} + range: {start: 108, end: 109} ceph_mds_sessions_total_load: family: {exact: 'ceph_mds_sessions_total_load'} prometheus: {type: gauge, shape: scalar} @@ -24610,7 +24610,7 @@ groups: range: {start: 70, end: 70} - upstream: ceph_tentacle path: 'src/mds/SessionMap.cc' - range: {start: 109, end: 109} + range: {start: 110, end: 110} ceph_mds_slow_reply: family: {exact: 'ceph_mds_slow_reply'} prometheus: {type: counter, shape: scalar} @@ -29474,7 +29474,7 @@ groups: range: {start: 272, end: 272} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 549, end: 549} + range: {start: 558, end: 558} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 246, end: 246} @@ -29503,7 +29503,7 @@ groups: range: {start: 272, end: 272} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 548, end: 548} + range: {start: 557, end: 557} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 246, end: 246} @@ -29601,7 +29601,7 @@ groups: range: {start: 272, end: 272} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 550, end: 550} + range: {start: 559, end: 559} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 246, end: 246} @@ -29676,7 +29676,7 @@ groups: range: {start: 272, end: 272} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 547, end: 547} + range: {start: 556, end: 556} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 246, end: 246} @@ -29889,7 +29889,7 @@ groups: range: {start: 272, end: 272} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 551, end: 551} + range: {start: 560, end: 560} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 246, end: 246} @@ -29918,7 +29918,7 @@ groups: range: {start: 266, end: 266} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 549, end: 549} + range: {start: 558, end: 558} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 240, end: 240} @@ -29947,7 +29947,7 @@ groups: range: {start: 266, end: 266} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 548, end: 548} + range: {start: 557, end: 557} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 240, end: 240} @@ -30045,7 +30045,7 @@ groups: range: {start: 266, end: 266} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 550, end: 550} + range: {start: 559, end: 559} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 240, end: 240} @@ -30120,7 +30120,7 @@ groups: range: {start: 266, end: 266} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 547, end: 547} + range: {start: 556, end: 556} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 240, end: 240} @@ -30333,7 +30333,7 @@ groups: range: {start: 266, end: 266} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 551, end: 551} + range: {start: 560, end: 560} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 240, end: 240} @@ -30962,7 +30962,7 @@ groups: range: {start: 269, end: 269} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 549, end: 549} + range: {start: 558, end: 558} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 243, end: 243} @@ -30991,7 +30991,7 @@ groups: range: {start: 269, end: 269} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 548, end: 548} + range: {start: 557, end: 557} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 243, end: 243} @@ -31089,7 +31089,7 @@ groups: range: {start: 269, end: 269} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 550, end: 550} + range: {start: 559, end: 559} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 243, end: 243} @@ -31164,7 +31164,7 @@ groups: range: {start: 269, end: 269} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 547, end: 547} + range: {start: 556, end: 556} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 243, end: 243} @@ -31377,7 +31377,7 @@ groups: range: {start: 269, end: 269} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 551, end: 551} + range: {start: 560, end: 560} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 243, end: 243} @@ -31406,7 +31406,7 @@ groups: range: {start: 263, end: 263} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 549, end: 549} + range: {start: 558, end: 558} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 237, end: 237} @@ -31435,7 +31435,7 @@ groups: range: {start: 263, end: 263} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 548, end: 548} + range: {start: 557, end: 557} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 237, end: 237} @@ -31533,7 +31533,7 @@ groups: range: {start: 263, end: 263} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 550, end: 550} + range: {start: 559, end: 559} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 237, end: 237} @@ -31608,7 +31608,7 @@ groups: range: {start: 263, end: 263} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 547, end: 547} + range: {start: 556, end: 556} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 237, end: 237} @@ -31821,7 +31821,7 @@ groups: range: {start: 263, end: 263} - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' - range: {start: 551, end: 551} + range: {start: 560, end: 560} - upstream: ceph_tentacle path: 'src/osd/scrubber/osd_scrub.h' range: {start: 237, end: 237} @@ -35480,7 +35480,7 @@ groups: range: {start: 1633, end: 1635} - upstream: ceph_tentacle path: 'src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc' - range: {start: 1637, end: 1639} + range: {start: 1656, end: 1658} ceph_rbd_mirror_snapshot_image_last_sync_time: family: {exact: 'ceph_rbd_mirror_snapshot_image_last_sync_time'} prometheus: {type: gauge, shape: scalar} @@ -35506,7 +35506,7 @@ groups: range: {start: 1631, end: 1632} - upstream: ceph_tentacle path: 'src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc' - range: {start: 1635, end: 1636} + range: {start: 1654, end: 1655} ceph_rbd_mirror_snapshot_image_local_timestamp: family: {exact: 'ceph_rbd_mirror_snapshot_image_local_timestamp'} prometheus: {type: gauge, shape: scalar} @@ -35532,7 +35532,7 @@ groups: range: {start: 1629, end: 1630} - upstream: ceph_tentacle path: 'src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc' - range: {start: 1633, end: 1634} + range: {start: 1652, end: 1653} ceph_rbd_mirror_snapshot_image_remote_timestamp: family: {exact: 'ceph_rbd_mirror_snapshot_image_remote_timestamp'} prometheus: {type: gauge, shape: scalar} @@ -35558,7 +35558,7 @@ groups: range: {start: 1627, end: 1628} - upstream: ceph_tentacle path: 'src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc' - range: {start: 1631, end: 1632} + range: {start: 1650, end: 1651} ceph_rbd_mirror_snapshot_image_snapshots: family: {exact: 'ceph_rbd_mirror_snapshot_image_snapshots'} prometheus: {type: counter, shape: scalar} @@ -35584,7 +35584,7 @@ groups: range: {start: 1621, end: 1622} - upstream: ceph_tentacle path: 'src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc' - range: {start: 1625, end: 1626} + range: {start: 1644, end: 1645} ceph_rbd_mirror_snapshot_image_sync_bytes: family: {exact: 'ceph_rbd_mirror_snapshot_image_sync_bytes'} prometheus: {type: counter, shape: scalar} @@ -35610,7 +35610,7 @@ groups: range: {start: 1625, end: 1626} - upstream: ceph_tentacle path: 'src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc' - range: {start: 1629, end: 1630} + range: {start: 1648, end: 1649} ceph_rbd_mirror_snapshot_image_sync_time_count: family: {exact: 'ceph_rbd_mirror_snapshot_image_sync_time_count'} prometheus: {type: counter, shape: scalar} @@ -35636,7 +35636,7 @@ groups: range: {start: 1623, end: 1624} - upstream: ceph_tentacle path: 'src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc' - range: {start: 1627, end: 1628} + range: {start: 1646, end: 1647} ceph_rbd_mirror_snapshot_snapshots: family: {exact: 'ceph_rbd_mirror_snapshot_snapshots'} prometheus: {type: counter, shape: scalar} @@ -36053,6 +36053,66 @@ groups: - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' range: {start: 507, end: 507} + ceph_recoverystate_perf_pg_rebuild_duration_count: + family: {exact: 'ceph_recoverystate_perf_pg_rebuild_duration_count'} + prometheus: {type: counter, shape: scalar} + when: + any: + - all: + - {axis: source, op: eq, value: ceph_exporter} + - {axis: release, op: eq, value: tentacle} + - {axis: perf_priority_limit, op: min, value: 6} + - all: + - {axis: source, op: eq, value: mgr} + - {axis: release, op: eq, value: tentacle} + - {axis: mgr_perf_counters, op: eq, value: enabled} + - {axis: perf_priority_limit, op: min, value: 6} + components: + value: {wire_role: scalar} + source_locations: + - upstream: ceph_tentacle + path: 'src/osd/osd_perf_counters.cc' + range: {start: 534, end: 536} + ceph_recoverystate_perf_pg_rebuild_max_secs: + family: {exact: 'ceph_recoverystate_perf_pg_rebuild_max_secs'} + prometheus: {type: gauge, shape: scalar} + when: + any: + - all: + - {axis: source, op: eq, value: ceph_exporter} + - {axis: release, op: eq, value: tentacle} + - {axis: perf_priority_limit, op: min, value: 6} + - all: + - {axis: source, op: eq, value: mgr} + - {axis: release, op: eq, value: tentacle} + - {axis: mgr_perf_counters, op: eq, value: enabled} + - {axis: perf_priority_limit, op: min, value: 6} + components: + value: {wire_role: scalar} + source_locations: + - upstream: ceph_tentacle + path: 'src/osd/osd_perf_counters.cc' + range: {start: 537, end: 539} + ceph_recoverystate_perf_pg_rebuild_min_secs: + family: {exact: 'ceph_recoverystate_perf_pg_rebuild_min_secs'} + prometheus: {type: gauge, shape: scalar} + when: + any: + - all: + - {axis: source, op: eq, value: ceph_exporter} + - {axis: release, op: eq, value: tentacle} + - {axis: perf_priority_limit, op: min, value: 6} + - all: + - {axis: source, op: eq, value: mgr} + - {axis: release, op: eq, value: tentacle} + - {axis: mgr_perf_counters, op: eq, value: enabled} + - {axis: perf_priority_limit, op: min, value: 6} + components: + value: {wire_role: scalar} + source_locations: + - upstream: ceph_tentacle + path: 'src/osd/osd_perf_counters.cc' + range: {start: 540, end: 542} ceph_recoverystate_perf_primary_latency_count: family: {exact: 'ceph_recoverystate_perf_primary_latency_count'} prometheus: {type: counter, shape: scalar} @@ -38476,7 +38536,7 @@ groups: range: {start: 462, end: 476} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 1769, end: 1794} + range: {start: 1850, end: 1875} - upstream: ceph_tentacle path: 'src/rgw/driver/rados/rgw_sync_counters.cc' range: {start: 17, end: 17} @@ -38498,7 +38558,7 @@ groups: range: {start: 462, end: 476} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 1769, end: 1794} + range: {start: 1850, end: 1875} - upstream: ceph_tentacle path: 'src/rgw/driver/rados/rgw_sync_counters.cc' range: {start: 24, end: 24} @@ -38538,7 +38598,7 @@ groups: range: {start: 462, end: 476} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 1769, end: 1794} + range: {start: 1850, end: 1875} - upstream: ceph_tentacle path: 'src/rgw/driver/rados/rgw_sync_counters.cc' range: {start: 21, end: 21} @@ -40420,7 +40480,7 @@ groups: range: {start: 247, end: 248} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 261, end: 262} + range: {start: 262, end: 263} ceph_mds_server_req_create_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_create_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40441,7 +40501,7 @@ groups: range: {start: 219, end: 220} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 233, end: 234} + range: {start: 234, end: 235} ceph_mds_server_req_getattr_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_getattr_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40462,7 +40522,7 @@ groups: range: {start: 199, end: 200} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 213, end: 214} + range: {start: 214, end: 215} ceph_mds_server_req_getfilelock_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_getfilelock_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40483,7 +40543,7 @@ groups: range: {start: 217, end: 218} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 231, end: 232} + range: {start: 232, end: 233} ceph_mds_server_req_getvxattr_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_getvxattr_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40504,7 +40564,7 @@ groups: range: {start: 207, end: 208} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 221, end: 222} + range: {start: 222, end: 223} ceph_mds_server_req_link_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_link_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40525,7 +40585,7 @@ groups: range: {start: 225, end: 226} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 239, end: 240} + range: {start: 240, end: 241} ceph_mds_server_req_lookup_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_lookup_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40546,7 +40606,7 @@ groups: range: {start: 195, end: 196} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 209, end: 210} + range: {start: 210, end: 211} ceph_mds_server_req_lookuphash_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_lookuphash_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40567,7 +40627,7 @@ groups: range: {start: 187, end: 188} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 201, end: 202} + range: {start: 202, end: 203} ceph_mds_server_req_lookupino_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_lookupino_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40588,7 +40648,7 @@ groups: range: {start: 189, end: 190} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 203, end: 204} + range: {start: 204, end: 205} ceph_mds_server_req_lookupname_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_lookupname_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40609,7 +40669,7 @@ groups: range: {start: 193, end: 194} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 207, end: 208} + range: {start: 208, end: 209} ceph_mds_server_req_lookupparent_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_lookupparent_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40630,7 +40690,7 @@ groups: range: {start: 191, end: 192} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 205, end: 206} + range: {start: 206, end: 207} ceph_mds_server_req_lookupsnap_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_lookupsnap_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40651,7 +40711,7 @@ groups: range: {start: 197, end: 198} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 211, end: 212} + range: {start: 212, end: 213} ceph_mds_server_req_lssnap_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_lssnap_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40672,7 +40732,7 @@ groups: range: {start: 237, end: 238} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 251, end: 252} + range: {start: 252, end: 253} ceph_mds_server_req_mkdir_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_mkdir_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40693,7 +40753,7 @@ groups: range: {start: 233, end: 234} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 247, end: 248} + range: {start: 248, end: 249} ceph_mds_server_req_mknod_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_mknod_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40714,7 +40774,7 @@ groups: range: {start: 223, end: 224} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 237, end: 238} + range: {start: 238, end: 239} ceph_mds_server_req_mksnap_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_mksnap_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40735,7 +40795,7 @@ groups: range: {start: 239, end: 240} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 253, end: 254} + range: {start: 254, end: 255} ceph_mds_server_req_open_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_open_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40756,7 +40816,7 @@ groups: range: {start: 221, end: 222} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 235, end: 236} + range: {start: 236, end: 237} ceph_mds_server_req_readdir_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_readdir_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40777,7 +40837,7 @@ groups: range: {start: 213, end: 214} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 227, end: 228} + range: {start: 228, end: 229} ceph_mds_server_req_rename_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_rename_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40798,7 +40858,7 @@ groups: range: {start: 231, end: 232} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 245, end: 246} + range: {start: 246, end: 247} ceph_mds_server_req_renamesnap_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_renamesnap_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40819,7 +40879,7 @@ groups: range: {start: 243, end: 244} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 257, end: 258} + range: {start: 258, end: 259} ceph_mds_server_req_rmdir_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_rmdir_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40840,7 +40900,7 @@ groups: range: {start: 229, end: 230} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 243, end: 244} + range: {start: 244, end: 245} ceph_mds_server_req_rmsnap_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_rmsnap_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40861,7 +40921,7 @@ groups: range: {start: 241, end: 242} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 255, end: 256} + range: {start: 256, end: 257} ceph_mds_server_req_rmxattr_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_rmxattr_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40882,7 +40942,7 @@ groups: range: {start: 211, end: 212} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 225, end: 226} + range: {start: 226, end: 227} ceph_mds_server_req_setattr_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_setattr_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40903,7 +40963,7 @@ groups: range: {start: 201, end: 202} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 215, end: 216} + range: {start: 216, end: 217} ceph_mds_server_req_setdirlayout_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_setdirlayout_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40924,7 +40984,7 @@ groups: range: {start: 205, end: 206} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 219, end: 220} + range: {start: 220, end: 221} ceph_mds_server_req_setfilelock_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_setfilelock_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40945,7 +41005,7 @@ groups: range: {start: 215, end: 216} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 229, end: 230} + range: {start: 230, end: 231} ceph_mds_server_req_setlayout_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_setlayout_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40966,7 +41026,7 @@ groups: range: {start: 203, end: 204} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 217, end: 218} + range: {start: 218, end: 219} ceph_mds_server_req_setxattr_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_setxattr_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -40987,7 +41047,7 @@ groups: range: {start: 209, end: 210} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 223, end: 224} + range: {start: 224, end: 225} ceph_mds_server_req_snapdiff_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_snapdiff_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -41008,7 +41068,7 @@ groups: range: {start: 245, end: 246} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 259, end: 260} + range: {start: 260, end: 261} ceph_mds_server_req_symlink_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_symlink_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -41029,7 +41089,7 @@ groups: range: {start: 235, end: 236} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 249, end: 250} + range: {start: 250, end: 251} ceph_mds_server_req_unlink_latency_sum_exporter_perf: family: {exact: 'ceph_mds_server_req_unlink_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -41050,7 +41110,7 @@ groups: range: {start: 227, end: 228} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 241, end: 242} + range: {start: 242, end: 243} ceph_osd_failed_scrubs_ec_elapsed_sum_exporter_perf: family: {exact: 'ceph_osd_failed_scrubs_ec_elapsed_sum'} prometheus: {type: gauge, shape: scalar} @@ -42487,7 +42547,7 @@ groups: range: {start: 1623, end: 1624} - upstream: ceph_tentacle path: 'src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc' - range: {start: 1627, end: 1628} + range: {start: 1646, end: 1647} ceph_rbd_mirror_snapshot_sync_time_sum_exporter_perf: family: {exact: 'ceph_rbd_mirror_snapshot_sync_time_sum'} prometheus: {type: gauge, shape: scalar} @@ -42782,6 +42842,21 @@ groups: - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' range: {start: 507, end: 507} + ceph_recoverystate_perf_pg_rebuild_duration_sum_exporter_perf: + family: {exact: 'ceph_recoverystate_perf_pg_rebuild_duration_sum'} + prometheus: {type: gauge, shape: scalar} + when: + any: + - all: + - {axis: source, op: eq, value: ceph_exporter} + - {axis: release, op: eq, value: tentacle} + - {axis: perf_priority_limit, op: min, value: 6} + components: + value: {wire_role: scalar} + source_locations: + - upstream: ceph_tentacle + path: 'src/osd/osd_perf_counters.cc' + range: {start: 534, end: 536} ceph_recoverystate_perf_primary_latency_sum_exporter_perf: family: {exact: 'ceph_recoverystate_perf_primary_latency_sum'} prometheus: {type: gauge, shape: scalar} @@ -44291,7 +44366,7 @@ groups: range: {start: 462, end: 476} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 1769, end: 1794} + range: {start: 1850, end: 1875} - upstream: ceph_tentacle path: 'src/rgw/driver/rados/rgw_sync_counters.cc' range: {start: 17, end: 17} @@ -44314,7 +44389,7 @@ groups: range: {start: 462, end: 476} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 1769, end: 1794} + range: {start: 1850, end: 1875} - upstream: ceph_tentacle path: 'src/rgw/driver/rados/rgw_sync_counters.cc' range: {start: 24, end: 24} @@ -44355,7 +44430,7 @@ groups: range: {start: 462, end: 476} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 1769, end: 1794} + range: {start: 1850, end: 1875} - upstream: ceph_tentacle path: 'src/rgw/driver/rados/rgw_sync_counters.cc' range: {start: 21, end: 21} @@ -46324,7 +46399,7 @@ groups: range: {start: 247, end: 248} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 261, end: 262} + range: {start: 262, end: 263} ceph_mds_server_req_create_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_create_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46346,7 +46421,7 @@ groups: range: {start: 219, end: 220} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 233, end: 234} + range: {start: 234, end: 235} ceph_mds_server_req_getattr_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_getattr_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46368,7 +46443,7 @@ groups: range: {start: 199, end: 200} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 213, end: 214} + range: {start: 214, end: 215} ceph_mds_server_req_getfilelock_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_getfilelock_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46390,7 +46465,7 @@ groups: range: {start: 217, end: 218} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 231, end: 232} + range: {start: 232, end: 233} ceph_mds_server_req_getvxattr_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_getvxattr_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46412,7 +46487,7 @@ groups: range: {start: 207, end: 208} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 221, end: 222} + range: {start: 222, end: 223} ceph_mds_server_req_link_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_link_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46434,7 +46509,7 @@ groups: range: {start: 225, end: 226} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 239, end: 240} + range: {start: 240, end: 241} ceph_mds_server_req_lookup_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_lookup_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46456,7 +46531,7 @@ groups: range: {start: 195, end: 196} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 209, end: 210} + range: {start: 210, end: 211} ceph_mds_server_req_lookuphash_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_lookuphash_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46478,7 +46553,7 @@ groups: range: {start: 187, end: 188} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 201, end: 202} + range: {start: 202, end: 203} ceph_mds_server_req_lookupino_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_lookupino_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46500,7 +46575,7 @@ groups: range: {start: 189, end: 190} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 203, end: 204} + range: {start: 204, end: 205} ceph_mds_server_req_lookupname_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_lookupname_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46522,7 +46597,7 @@ groups: range: {start: 193, end: 194} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 207, end: 208} + range: {start: 208, end: 209} ceph_mds_server_req_lookupparent_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_lookupparent_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46544,7 +46619,7 @@ groups: range: {start: 191, end: 192} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 205, end: 206} + range: {start: 206, end: 207} ceph_mds_server_req_lookupsnap_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_lookupsnap_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46566,7 +46641,7 @@ groups: range: {start: 197, end: 198} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 211, end: 212} + range: {start: 212, end: 213} ceph_mds_server_req_lssnap_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_lssnap_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46588,7 +46663,7 @@ groups: range: {start: 237, end: 238} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 251, end: 252} + range: {start: 252, end: 253} ceph_mds_server_req_mkdir_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_mkdir_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46610,7 +46685,7 @@ groups: range: {start: 233, end: 234} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 247, end: 248} + range: {start: 248, end: 249} ceph_mds_server_req_mknod_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_mknod_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46632,7 +46707,7 @@ groups: range: {start: 223, end: 224} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 237, end: 238} + range: {start: 238, end: 239} ceph_mds_server_req_mksnap_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_mksnap_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46654,7 +46729,7 @@ groups: range: {start: 239, end: 240} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 253, end: 254} + range: {start: 254, end: 255} ceph_mds_server_req_open_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_open_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46676,7 +46751,7 @@ groups: range: {start: 221, end: 222} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 235, end: 236} + range: {start: 236, end: 237} ceph_mds_server_req_readdir_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_readdir_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46698,7 +46773,7 @@ groups: range: {start: 213, end: 214} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 227, end: 228} + range: {start: 228, end: 229} ceph_mds_server_req_rename_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_rename_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46720,7 +46795,7 @@ groups: range: {start: 231, end: 232} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 245, end: 246} + range: {start: 246, end: 247} ceph_mds_server_req_renamesnap_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_renamesnap_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46742,7 +46817,7 @@ groups: range: {start: 243, end: 244} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 257, end: 258} + range: {start: 258, end: 259} ceph_mds_server_req_rmdir_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_rmdir_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46764,7 +46839,7 @@ groups: range: {start: 229, end: 230} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 243, end: 244} + range: {start: 244, end: 245} ceph_mds_server_req_rmsnap_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_rmsnap_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46786,7 +46861,7 @@ groups: range: {start: 241, end: 242} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 255, end: 256} + range: {start: 256, end: 257} ceph_mds_server_req_rmxattr_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_rmxattr_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46808,7 +46883,7 @@ groups: range: {start: 211, end: 212} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 225, end: 226} + range: {start: 226, end: 227} ceph_mds_server_req_setattr_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_setattr_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46830,7 +46905,7 @@ groups: range: {start: 201, end: 202} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 215, end: 216} + range: {start: 216, end: 217} ceph_mds_server_req_setdirlayout_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_setdirlayout_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46852,7 +46927,7 @@ groups: range: {start: 205, end: 206} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 219, end: 220} + range: {start: 220, end: 221} ceph_mds_server_req_setfilelock_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_setfilelock_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46874,7 +46949,7 @@ groups: range: {start: 215, end: 216} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 229, end: 230} + range: {start: 230, end: 231} ceph_mds_server_req_setlayout_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_setlayout_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46896,7 +46971,7 @@ groups: range: {start: 203, end: 204} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 217, end: 218} + range: {start: 218, end: 219} ceph_mds_server_req_setxattr_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_setxattr_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46918,7 +46993,7 @@ groups: range: {start: 209, end: 210} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 223, end: 224} + range: {start: 224, end: 225} ceph_mds_server_req_snapdiff_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_snapdiff_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46940,7 +47015,7 @@ groups: range: {start: 245, end: 246} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 259, end: 260} + range: {start: 260, end: 261} ceph_mds_server_req_symlink_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_symlink_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46962,7 +47037,7 @@ groups: range: {start: 235, end: 236} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 249, end: 250} + range: {start: 250, end: 251} ceph_mds_server_req_unlink_latency_sum_mgr_perf: family: {exact: 'ceph_mds_server_req_unlink_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -46984,7 +47059,7 @@ groups: range: {start: 227, end: 228} - upstream: ceph_tentacle path: 'src/mds/Server.cc' - range: {start: 241, end: 242} + range: {start: 242, end: 243} ceph_osd_failed_scrubs_ec_elapsed_sum_mgr_perf: family: {exact: 'ceph_osd_failed_scrubs_ec_elapsed_sum'} prometheus: {type: counter, shape: scalar} @@ -48494,7 +48569,7 @@ groups: range: {start: 1623, end: 1624} - upstream: ceph_tentacle path: 'src/tools/rbd_mirror/image_replayer/snapshot/Replayer.cc' - range: {start: 1627, end: 1628} + range: {start: 1646, end: 1647} ceph_rbd_mirror_snapshot_sync_time_sum_mgr_perf: family: {exact: 'ceph_rbd_mirror_snapshot_sync_time_sum'} prometheus: {type: counter, shape: scalar} @@ -48803,6 +48878,22 @@ groups: - upstream: ceph_tentacle path: 'src/osd/osd_perf_counters.cc' range: {start: 507, end: 507} + ceph_recoverystate_perf_pg_rebuild_duration_sum_mgr_perf: + family: {exact: 'ceph_recoverystate_perf_pg_rebuild_duration_sum'} + prometheus: {type: counter, shape: scalar} + when: + any: + - all: + - {axis: source, op: eq, value: mgr} + - {axis: release, op: eq, value: tentacle} + - {axis: mgr_perf_counters, op: eq, value: enabled} + - {axis: perf_priority_limit, op: min, value: 6} + components: + value: {wire_role: scalar} + source_locations: + - upstream: ceph_tentacle + path: 'src/osd/osd_perf_counters.cc' + range: {start: 534, end: 536} ceph_recoverystate_perf_primary_latency_sum_mgr_perf: family: {exact: 'ceph_recoverystate_perf_primary_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -49400,7 +49491,7 @@ groups: source_locations: - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 910, end: 915} + range: {start: 948, end: 953} ceph_cluster_by_class_total_bytes: family: {exact: 'ceph_cluster_by_class_total_bytes'} prometheus: {type: gauge, shape: scalar} @@ -49429,7 +49520,7 @@ groups: range: {start: 82, end: 82} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 964, end: 969} + range: {start: 1002, end: 1007} ceph_cluster_by_class_total_used_bytes: family: {exact: 'ceph_cluster_by_class_total_used_bytes'} prometheus: {type: gauge, shape: scalar} @@ -49458,7 +49549,7 @@ groups: range: {start: 82, end: 82} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 964, end: 969} + range: {start: 1002, end: 1007} ceph_cluster_by_class_total_used_raw_bytes: family: {exact: 'ceph_cluster_by_class_total_used_raw_bytes'} prometheus: {type: gauge, shape: scalar} @@ -49487,7 +49578,7 @@ groups: range: {start: 82, end: 82} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 964, end: 969} + range: {start: 1002, end: 1007} ceph_cluster_osd_blocklist_count: family: {exact: 'ceph_cluster_osd_blocklist_count'} prometheus: {type: gauge, shape: scalar} @@ -49516,7 +49607,7 @@ groups: range: {start: 84, end: 84} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 980, end: 984} + range: {start: 1018, end: 1022} ceph_cluster_total_bytes: family: {exact: 'ceph_cluster_total_bytes'} prometheus: {type: gauge, shape: scalar} @@ -49545,7 +49636,7 @@ groups: range: {start: 82, end: 82} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 958, end: 962} + range: {start: 996, end: 1000} ceph_cluster_total_used_bytes: family: {exact: 'ceph_cluster_total_used_bytes'} prometheus: {type: gauge, shape: scalar} @@ -49574,7 +49665,7 @@ groups: range: {start: 82, end: 82} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 958, end: 962} + range: {start: 996, end: 1000} ceph_cluster_total_used_raw_bytes: family: {exact: 'ceph_cluster_total_used_raw_bytes'} prometheus: {type: gauge, shape: scalar} @@ -49603,7 +49694,7 @@ groups: range: {start: 82, end: 82} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 958, end: 962} + range: {start: 996, end: 1000} ceph_daemon_health_metrics: family: {exact: 'ceph_daemon_health_metrics'} prometheus: {type: gauge, shape: scalar} @@ -49623,7 +49714,7 @@ groups: range: {start: 756, end: 761} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 897, end: 902} + range: {start: 935, end: 940} ceph_disk_occupation: family: {exact: 'ceph_disk_occupation'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -49643,7 +49734,7 @@ groups: range: {start: 699, end: 704} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 833, end: 838} + range: {start: 871, end: 876} ceph_disk_occupation_human: family: {exact: 'ceph_disk_occupation_human'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -49663,7 +49754,7 @@ groups: range: {start: 706, end: 712} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 840, end: 846} + range: {start: 878, end: 884} ceph_fs_metadata: family: {exact: 'ceph_fs_metadata'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -49683,7 +49774,111 @@ groups: range: {start: 647, end: 652} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 769, end: 774} + range: {start: 807, end: 812} + ceph_hardware_cpu_cores: + family: {exact: 'ceph_hardware_cpu_cores'} + prometheus: {type: gauge, shape: scalar} + when: + any: + - all: + - {axis: source, op: eq, value: mgr} + - {axis: release, op: eq, value: tentacle} + components: + value: {wire_role: scalar} + source_locations: + - upstream: ceph_tentacle + path: 'src/pybind/mgr/prometheus/module.py' + range: {start: 1046, end: 1051} + ceph_hardware_fan_rpm: + family: {exact: 'ceph_hardware_fan_rpm'} + prometheus: {type: gauge, shape: scalar} + when: + any: + - all: + - {axis: source, op: eq, value: mgr} + - {axis: release, op: eq, value: tentacle} + components: + value: {wire_role: scalar} + source_locations: + - upstream: ceph_tentacle + path: 'src/pybind/mgr/prometheus/module.py' + range: {start: 168, end: 179} + - upstream: ceph_tentacle + path: 'src/pybind/mgr/prometheus/module.py' + range: {start: 1068, end: 1073} + ceph_hardware_firmware_info: + family: {exact: 'ceph_hardware_firmware_info'} + prometheus: {type: gauge, shape: info} + when: + any: + - all: + - {axis: source, op: eq, value: mgr} + - {axis: release, op: eq, value: tentacle} + components: + value: {wire_role: scalar} + source_locations: + - upstream: ceph_tentacle + path: 'src/pybind/mgr/prometheus/module.py' + range: {start: 1075, end: 1080} + ceph_hardware_health: + family: {exact: 'ceph_hardware_health'} + prometheus: {type: gauge, shape: scalar} + when: + any: + - all: + - {axis: source, op: eq, value: mgr} + - {axis: release, op: eq, value: tentacle} + components: + value: {wire_role: scalar} + source_locations: + - upstream: ceph_tentacle + path: 'src/pybind/mgr/prometheus/module.py' + range: {start: 1060, end: 1065} + ceph_hardware_memory_capacity_bytes: + family: {exact: 'ceph_hardware_memory_capacity_bytes'} + prometheus: {type: gauge, shape: scalar} + when: + any: + - all: + - {axis: source, op: eq, value: mgr} + - {axis: release, op: eq, value: tentacle} + components: + value: {wire_role: scalar} + source_locations: + - upstream: ceph_tentacle + path: 'src/pybind/mgr/prometheus/module.py' + range: {start: 1053, end: 1058} + ceph_hardware_storage_capacity_bytes: + family: {exact: 'ceph_hardware_storage_capacity_bytes'} + prometheus: {type: gauge, shape: scalar} + when: + any: + - all: + - {axis: source, op: eq, value: mgr} + - {axis: release, op: eq, value: tentacle} + components: + value: {wire_role: scalar} + source_locations: + - upstream: ceph_tentacle + path: 'src/pybind/mgr/prometheus/module.py' + range: {start: 1039, end: 1044} + ceph_hardware_temperature_celsius: + family: {exact: 'ceph_hardware_temperature_celsius'} + prometheus: {type: gauge, shape: scalar} + when: + any: + - all: + - {axis: source, op: eq, value: mgr} + - {axis: release, op: eq, value: tentacle} + components: + value: {wire_role: scalar} + source_locations: + - upstream: ceph_tentacle + path: 'src/pybind/mgr/prometheus/module.py' + range: {start: 168, end: 179} + - upstream: ceph_tentacle + path: 'src/pybind/mgr/prometheus/module.py' + range: {start: 1068, end: 1073} ceph_health_detail: family: {exact: 'ceph_health_detail'} prometheus: {type: gauge, shape: scalar} @@ -49703,7 +49898,7 @@ groups: range: {start: 742, end: 747} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 883, end: 888} + range: {start: 921, end: 926} ceph_health_status: family: {exact: 'ceph_health_status'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -49723,7 +49918,7 @@ groups: range: {start: 636, end: 640} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 758, end: 762} + range: {start: 796, end: 800} ceph_healthcheck_slow_ops: family: {exact: 'ceph_healthcheck_slow_ops'} prometheus: {type: gauge, shape: scalar} @@ -49749,10 +49944,10 @@ groups: range: {start: 841, end: 845} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 146, end: 148} + range: {start: 184, end: 186} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 995, end: 999} + range: {start: 1033, end: 1037} ceph_mds_metadata: family: {exact: 'ceph_mds_metadata'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -49772,7 +49967,7 @@ groups: range: {start: 653, end: 658} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 775, end: 780} + range: {start: 813, end: 818} ceph_mgr_metadata: family: {exact: 'ceph_mgr_metadata'} prometheus: {type: gauge, shape: scalar} @@ -49792,7 +49987,7 @@ groups: range: {start: 665, end: 670} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 787, end: 792} + range: {start: 825, end: 830} ceph_mgr_module_can_run: family: {exact: 'ceph_mgr_module_can_run'} prometheus: {type: gauge, shape: scalar} @@ -49812,7 +50007,7 @@ groups: range: {start: 683, end: 688} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 805, end: 810} + range: {start: 843, end: 848} ceph_mgr_module_status: family: {exact: 'ceph_mgr_module_status'} prometheus: {type: gauge, shape: scalar} @@ -49832,7 +50027,7 @@ groups: range: {start: 677, end: 682} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 799, end: 804} + range: {start: 837, end: 842} ceph_mgr_status: family: {exact: 'ceph_mgr_status'} prometheus: {type: gauge, shape: scalar} @@ -49852,7 +50047,7 @@ groups: range: {start: 671, end: 676} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 793, end: 798} + range: {start: 831, end: 836} ceph_mon_metadata: family: {exact: 'ceph_mon_metadata'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -49872,7 +50067,7 @@ groups: range: {start: 659, end: 664} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 781, end: 786} + range: {start: 819, end: 824} ceph_mon_quorum_status: family: {exact: 'ceph_mon_quorum_status'} prometheus: {type: gauge, shape: scalar} @@ -49892,7 +50087,7 @@ groups: range: {start: 641, end: 646} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 763, end: 768} + range: {start: 801, end: 806} ceph_num_objects_degraded: family: {exact: 'ceph_num_objects_degraded'} prometheus: {type: gauge, shape: scalar} @@ -49921,7 +50116,7 @@ groups: range: {start: 138, end: 138} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 987, end: 991} + range: {start: 1025, end: 1029} ceph_num_objects_misplaced: family: {exact: 'ceph_num_objects_misplaced'} prometheus: {type: gauge, shape: scalar} @@ -49950,7 +50145,7 @@ groups: range: {start: 138, end: 138} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 987, end: 991} + range: {start: 1025, end: 1029} ceph_num_objects_unfound: family: {exact: 'ceph_num_objects_unfound'} prometheus: {type: gauge, shape: scalar} @@ -49979,7 +50174,7 @@ groups: range: {start: 138, end: 138} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 987, end: 991} + range: {start: 1025, end: 1029} ceph_osd_apply_latency_ms: family: {exact: 'ceph_osd_apply_latency_ms'} prometheus: {type: gauge, shape: scalar} @@ -50008,7 +50203,7 @@ groups: range: {start: 124, end: 124} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 934, end: 939} + range: {start: 972, end: 977} ceph_osd_commit_latency_ms: family: {exact: 'ceph_osd_commit_latency_ms'} prometheus: {type: gauge, shape: scalar} @@ -50037,7 +50232,7 @@ groups: range: {start: 124, end: 124} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 934, end: 939} + range: {start: 972, end: 977} ceph_osd_flag_nobackfill: family: {exact: 'ceph_osd_flag_nobackfill'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -50066,7 +50261,7 @@ groups: range: {start: 94, end: 95} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 919, end: 923} + range: {start: 957, end: 961} ceph_osd_flag_nodeep_scrub: family: {exact: 'ceph_osd_flag_nodeep_scrub'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -50095,7 +50290,7 @@ groups: range: {start: 94, end: 95} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 919, end: 923} + range: {start: 957, end: 961} ceph_osd_flag_nodown: family: {exact: 'ceph_osd_flag_nodown'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -50124,7 +50319,7 @@ groups: range: {start: 94, end: 95} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 919, end: 923} + range: {start: 957, end: 961} ceph_osd_flag_noin: family: {exact: 'ceph_osd_flag_noin'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -50153,7 +50348,7 @@ groups: range: {start: 94, end: 95} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 919, end: 923} + range: {start: 957, end: 961} ceph_osd_flag_noout: family: {exact: 'ceph_osd_flag_noout'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -50182,7 +50377,7 @@ groups: range: {start: 94, end: 95} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 919, end: 923} + range: {start: 957, end: 961} ceph_osd_flag_norebalance: family: {exact: 'ceph_osd_flag_norebalance'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -50211,7 +50406,7 @@ groups: range: {start: 94, end: 95} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 919, end: 923} + range: {start: 957, end: 961} ceph_osd_flag_norecover: family: {exact: 'ceph_osd_flag_norecover'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -50240,7 +50435,7 @@ groups: range: {start: 94, end: 95} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 919, end: 923} + range: {start: 957, end: 961} ceph_osd_flag_noscrub: family: {exact: 'ceph_osd_flag_noscrub'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -50269,7 +50464,7 @@ groups: range: {start: 94, end: 95} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 919, end: 923} + range: {start: 957, end: 961} ceph_osd_flag_noup: family: {exact: 'ceph_osd_flag_noup'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -50298,7 +50493,7 @@ groups: range: {start: 94, end: 95} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 919, end: 923} + range: {start: 957, end: 961} ceph_osd_full_ratio: family: {exact: 'ceph_osd_full_ratio'} prometheus: {type: gauge, shape: scalar} @@ -50312,7 +50507,7 @@ groups: source_locations: - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 823, end: 828} + range: {start: 861, end: 866} ceph_osd_in: family: {exact: 'ceph_osd_in'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -50341,7 +50536,7 @@ groups: range: {start: 122, end: 122} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 926, end: 931} + range: {start: 964, end: 969} ceph_osd_metadata: family: {exact: 'ceph_osd_metadata'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -50361,7 +50556,7 @@ groups: range: {start: 689, end: 694} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 811, end: 816} + range: {start: 849, end: 854} ceph_osd_nearfull_ratio: family: {exact: 'ceph_osd_nearfull_ratio'} prometheus: {type: gauge, shape: scalar} @@ -50375,7 +50570,7 @@ groups: source_locations: - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 817, end: 822} + range: {start: 855, end: 860} ceph_osd_up: family: {exact: 'ceph_osd_up'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -50404,7 +50599,7 @@ groups: range: {start: 122, end: 122} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 926, end: 931} + range: {start: 964, end: 969} ceph_osd_weight: family: {exact: 'ceph_osd_weight'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -50433,7 +50628,7 @@ groups: range: {start: 122, end: 122} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 926, end: 931} + range: {start: 964, end: 969} ceph_pg_activating: family: {exact: 'ceph_pg_activating'} prometheus: {type: gauge, shape: scalar} @@ -50462,7 +50657,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_active: family: {exact: 'ceph_pg_active'} prometheus: {type: gauge, shape: scalar} @@ -50491,7 +50686,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_backfill_toofull: family: {exact: 'ceph_pg_backfill_toofull'} prometheus: {type: gauge, shape: scalar} @@ -50520,7 +50715,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_backfill_unfound: family: {exact: 'ceph_pg_backfill_unfound'} prometheus: {type: gauge, shape: scalar} @@ -50549,7 +50744,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_backfill_wait: family: {exact: 'ceph_pg_backfill_wait'} prometheus: {type: gauge, shape: scalar} @@ -50578,7 +50773,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_backfilling: family: {exact: 'ceph_pg_backfilling'} prometheus: {type: gauge, shape: scalar} @@ -50607,7 +50802,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_clean: family: {exact: 'ceph_pg_clean'} prometheus: {type: gauge, shape: scalar} @@ -50636,7 +50831,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_creating: family: {exact: 'ceph_pg_creating'} prometheus: {type: gauge, shape: scalar} @@ -50665,7 +50860,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_deep: family: {exact: 'ceph_pg_deep'} prometheus: {type: gauge, shape: scalar} @@ -50694,7 +50889,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_degraded: family: {exact: 'ceph_pg_degraded'} prometheus: {type: gauge, shape: scalar} @@ -50723,7 +50918,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_down: family: {exact: 'ceph_pg_down'} prometheus: {type: gauge, shape: scalar} @@ -50752,7 +50947,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_failed_repair: family: {exact: 'ceph_pg_failed_repair'} prometheus: {type: gauge, shape: scalar} @@ -50781,7 +50976,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_forced_backfill: family: {exact: 'ceph_pg_forced_backfill'} prometheus: {type: gauge, shape: scalar} @@ -50810,7 +51005,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_forced_recovery: family: {exact: 'ceph_pg_forced_recovery'} prometheus: {type: gauge, shape: scalar} @@ -50839,7 +51034,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_incomplete: family: {exact: 'ceph_pg_incomplete'} prometheus: {type: gauge, shape: scalar} @@ -50868,7 +51063,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_inconsistent: family: {exact: 'ceph_pg_inconsistent'} prometheus: {type: gauge, shape: scalar} @@ -50897,7 +51092,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_laggy: family: {exact: 'ceph_pg_laggy'} prometheus: {type: gauge, shape: scalar} @@ -50926,7 +51121,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_peered: family: {exact: 'ceph_pg_peered'} prometheus: {type: gauge, shape: scalar} @@ -50955,7 +51150,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_peering: family: {exact: 'ceph_pg_peering'} prometheus: {type: gauge, shape: scalar} @@ -50984,7 +51179,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_premerge: family: {exact: 'ceph_pg_premerge'} prometheus: {type: gauge, shape: scalar} @@ -51013,7 +51208,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_recovering: family: {exact: 'ceph_pg_recovering'} prometheus: {type: gauge, shape: scalar} @@ -51042,7 +51237,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_recovery_toofull: family: {exact: 'ceph_pg_recovery_toofull'} prometheus: {type: gauge, shape: scalar} @@ -51071,7 +51266,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_recovery_unfound: family: {exact: 'ceph_pg_recovery_unfound'} prometheus: {type: gauge, shape: scalar} @@ -51100,7 +51295,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_recovery_wait: family: {exact: 'ceph_pg_recovery_wait'} prometheus: {type: gauge, shape: scalar} @@ -51129,7 +51324,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_remapped: family: {exact: 'ceph_pg_remapped'} prometheus: {type: gauge, shape: scalar} @@ -51158,7 +51353,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_repair: family: {exact: 'ceph_pg_repair'} prometheus: {type: gauge, shape: scalar} @@ -51187,7 +51382,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_scrubbing: family: {exact: 'ceph_pg_scrubbing'} prometheus: {type: gauge, shape: scalar} @@ -51216,7 +51411,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_snaptrim: family: {exact: 'ceph_pg_snaptrim'} prometheus: {type: gauge, shape: scalar} @@ -51245,7 +51440,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_snaptrim_error: family: {exact: 'ceph_pg_snaptrim_error'} prometheus: {type: gauge, shape: scalar} @@ -51274,7 +51469,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_snaptrim_wait: family: {exact: 'ceph_pg_snaptrim_wait'} prometheus: {type: gauge, shape: scalar} @@ -51303,7 +51498,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_stale: family: {exact: 'ceph_pg_stale'} prometheus: {type: gauge, shape: scalar} @@ -51332,7 +51527,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_total: family: {exact: 'ceph_pg_total'} prometheus: {type: gauge, shape: scalar} @@ -51352,7 +51547,7 @@ groups: range: {start: 735, end: 740} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 876, end: 881} + range: {start: 914, end: 919} ceph_pg_undersized: family: {exact: 'ceph_pg_undersized'} prometheus: {type: gauge, shape: scalar} @@ -51381,7 +51576,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_unknown: family: {exact: 'ceph_pg_unknown'} prometheus: {type: gauge, shape: scalar} @@ -51410,7 +51605,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pg_wait: family: {exact: 'ceph_pg_wait'} prometheus: {type: gauge, shape: scalar} @@ -51439,7 +51634,7 @@ groups: range: {start: 64, end: 99} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 950, end: 955} + range: {start: 988, end: 993} ceph_pool_avail_raw: family: {exact: 'ceph_pool_avail_raw'} prometheus: {type: gauge, shape: scalar} @@ -51468,7 +51663,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_bytes_used: family: {exact: 'ceph_pool_bytes_used'} prometheus: {type: gauge, shape: scalar} @@ -51497,7 +51692,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_compress_bytes_used: family: {exact: 'ceph_pool_compress_bytes_used'} prometheus: {type: gauge, shape: scalar} @@ -51526,7 +51721,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_compress_under_bytes: family: {exact: 'ceph_pool_compress_under_bytes'} prometheus: {type: gauge, shape: scalar} @@ -51555,7 +51750,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_dirty: family: {exact: 'ceph_pool_dirty'} prometheus: {type: gauge, shape: scalar} @@ -51584,7 +51779,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_max_avail: family: {exact: 'ceph_pool_max_avail'} prometheus: {type: gauge, shape: scalar} @@ -51613,7 +51808,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_metadata: family: {exact: 'ceph_pool_metadata'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -51633,7 +51828,7 @@ groups: range: {start: 714, end: 719} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 848, end: 853} + range: {start: 886, end: 891} ceph_pool_num_bytes_recovered: family: {exact: 'ceph_pool_num_bytes_recovered'} prometheus: {type: gauge, shape: scalar} @@ -51662,7 +51857,7 @@ groups: range: {start: 90, end: 92} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 942, end: 947} + range: {start: 980, end: 985} ceph_pool_num_objects_recovered: family: {exact: 'ceph_pool_num_objects_recovered'} prometheus: {type: gauge, shape: scalar} @@ -51691,7 +51886,7 @@ groups: range: {start: 90, end: 92} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 942, end: 947} + range: {start: 980, end: 985} ceph_pool_objects: family: {exact: 'ceph_pool_objects'} prometheus: {type: gauge, shape: scalar} @@ -51720,7 +51915,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_objects_repaired: family: {exact: 'ceph_pool_objects_repaired'} prometheus: {type: counter, shape: scalar} @@ -51740,7 +51935,7 @@ groups: range: {start: 749, end: 754} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 890, end: 895} + range: {start: 928, end: 933} ceph_pool_percent_used: family: {exact: 'ceph_pool_percent_used'} prometheus: {type: gauge, shape: scalar} @@ -51769,7 +51964,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_quota_bytes: family: {exact: 'ceph_pool_quota_bytes'} prometheus: {type: gauge, shape: scalar} @@ -51798,7 +51993,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_quota_objects: family: {exact: 'ceph_pool_quota_objects'} prometheus: {type: gauge, shape: scalar} @@ -51827,7 +52022,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_rd: family: {exact: 'ceph_pool_rd'} prometheus: {type: counter, shape: scalar} @@ -51856,7 +52051,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_rd_bytes: family: {exact: 'ceph_pool_rd_bytes'} prometheus: {type: counter, shape: scalar} @@ -51885,7 +52080,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_recovering_bytes_per_sec: family: {exact: 'ceph_pool_recovering_bytes_per_sec'} prometheus: {type: gauge, shape: scalar} @@ -51914,7 +52109,7 @@ groups: range: {start: 90, end: 92} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 942, end: 947} + range: {start: 980, end: 985} ceph_pool_recovering_keys_per_sec: family: {exact: 'ceph_pool_recovering_keys_per_sec'} prometheus: {type: gauge, shape: scalar} @@ -51943,7 +52138,7 @@ groups: range: {start: 90, end: 92} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 942, end: 947} + range: {start: 980, end: 985} ceph_pool_recovering_objects_per_sec: family: {exact: 'ceph_pool_recovering_objects_per_sec'} prometheus: {type: gauge, shape: scalar} @@ -51972,7 +52167,7 @@ groups: range: {start: 90, end: 92} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 942, end: 947} + range: {start: 980, end: 985} ceph_pool_stored: family: {exact: 'ceph_pool_stored'} prometheus: {type: gauge, shape: scalar} @@ -52001,7 +52196,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_stored_raw: family: {exact: 'ceph_pool_stored_raw'} prometheus: {type: gauge, shape: scalar} @@ -52030,7 +52225,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_wr: family: {exact: 'ceph_pool_wr'} prometheus: {type: counter, shape: scalar} @@ -52059,7 +52254,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_pool_wr_bytes: family: {exact: 'ceph_pool_wr_bytes'} prometheus: {type: counter, shape: scalar} @@ -52088,7 +52283,7 @@ groups: range: {start: 86, end: 88} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 972, end: 977} + range: {start: 1010, end: 1015} ceph_prometheus_collect_duration_seconds_count: family: {exact: 'ceph_prometheus_collect_duration_seconds_count'} prometheus: {type: counter, shape: scalar} @@ -52108,7 +52303,7 @@ groups: range: {start: 1606, end: 1609} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 1806, end: 1809} + range: {start: 1887, end: 1890} ceph_prometheus_collect_duration_seconds_sum: family: {exact: 'ceph_prometheus_collect_duration_seconds_sum'} prometheus: {type: counter, shape: scalar} @@ -52128,7 +52323,7 @@ groups: range: {start: 1600, end: 1603} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 1800, end: 1803} + range: {start: 1881, end: 1884} ceph_rbd_image_metadata: family: {exact: 'ceph_rbd_image_metadata'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -52142,7 +52337,7 @@ groups: source_locations: - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 869, end: 874} + range: {start: 907, end: 912} ceph_rbd_mirror_metadata: family: {exact: 'ceph_rbd_mirror_metadata'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -52162,7 +52357,7 @@ groups: range: {start: 728, end: 733} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 862, end: 867} + range: {start: 900, end: 905} ceph_rgw_metadata: family: {exact: 'ceph_rgw_metadata'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -52182,7 +52377,7 @@ groups: range: {start: 721, end: 726} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 855, end: 860} + range: {start: 893, end: 898} ceph_smb_metadata: family: {exact: 'ceph_smb_metadata'} prometheus: {type: untyped, shape: scalar, classification: gauge} @@ -52196,7 +52391,7 @@ groups: source_locations: - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 904, end: 909} + range: {start: 942, end: 947} mgr_rbd_stats: registrations: ceph_rbd_read_bytes: @@ -52219,7 +52414,7 @@ groups: range: {start: 621, end: 622} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 743, end: 744} + range: {start: 781, end: 782} ceph_rbd_read_latency_count: family: {exact: 'ceph_rbd_read_latency_count'} prometheus: {type: counter, shape: scalar} @@ -52240,7 +52435,7 @@ groups: range: {start: 625, end: 626} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 747, end: 748} + range: {start: 785, end: 786} ceph_rbd_read_latency_sum: family: {exact: 'ceph_rbd_read_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -52261,7 +52456,7 @@ groups: range: {start: 625, end: 626} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 747, end: 748} + range: {start: 785, end: 786} ceph_rbd_read_ops: family: {exact: 'ceph_rbd_read_ops'} prometheus: {type: counter, shape: scalar} @@ -52282,7 +52477,7 @@ groups: range: {start: 617, end: 618} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 739, end: 740} + range: {start: 777, end: 778} ceph_rbd_write_bytes: family: {exact: 'ceph_rbd_write_bytes'} prometheus: {type: counter, shape: scalar} @@ -52303,7 +52498,7 @@ groups: range: {start: 619, end: 620} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 741, end: 742} + range: {start: 779, end: 780} ceph_rbd_write_latency_count: family: {exact: 'ceph_rbd_write_latency_count'} prometheus: {type: counter, shape: scalar} @@ -52324,7 +52519,7 @@ groups: range: {start: 623, end: 624} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 745, end: 746} + range: {start: 783, end: 784} ceph_rbd_write_latency_sum: family: {exact: 'ceph_rbd_write_latency_sum'} prometheus: {type: counter, shape: scalar} @@ -52345,7 +52540,7 @@ groups: range: {start: 623, end: 624} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 745, end: 746} + range: {start: 783, end: 784} ceph_rbd_write_ops: family: {exact: 'ceph_rbd_write_ops'} prometheus: {type: counter, shape: scalar} @@ -52366,7 +52561,7 @@ groups: range: {start: 615, end: 616} - upstream: ceph_tentacle path: 'src/pybind/mgr/prometheus/module.py' - range: {start: 737, end: 738} + range: {start: 775, end: 776} exporter_self: registrations: ceph_daemon_socket_up: diff --git a/prometheus/profiles/ceph/SOURCE-SEMANTICS.yaml b/prometheus/profiles/ceph/SOURCE-SEMANTICS.yaml index a076261..ee1cfb0 100644 --- a/prometheus/profiles/ceph/SOURCE-SEMANTICS.yaml +++ b/prometheus/profiles/ceph/SOURCE-SEMANTICS.yaml @@ -15,7 +15,7 @@ upstreams: commit: 2dcd17efd0ce2f0a1ad15cb3c150ffcdc42ced65 ceph_tentacle: repository: ceph/ceph - commit: 0fcffee29411e3a38036764817b6e1afc59741cc + commit: 06c2f9c35b67055a8a6fb99d1be236b3c4832ace evidence: availability_reef: kind: availability @@ -39,7 +39,7 @@ evidence: locations: - src/common/options/ceph-exporter.yaml.in:28-35 - src/exporter/DaemonMetricCollector.cc:88-124 - - src/pybind/mgr/prometheus/module.py:711-752 + - src/pybind/mgr/prometheus/module.py:749-790 claim: Tentacle exposes Ceph exporter and MGR metric producers with finite priority and MGR feature controls. availability_nvmeof: kind: availability @@ -8845,26 +8845,26 @@ evidence: kind: population upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:910-915 + - src/pybind/mgr/prometheus/module.py:948-953 claim: The registered ceph_cephadm_daemon_status source family observes Status of cephadm daemons (0=stopped, 1=running, 2=errored) lifecycle_cephadm_daemon_status: kind: lifecycle upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:910-915 + - src/pybind/mgr/prometheus/module.py:948-953 claim: The registered ceph_cephadm_daemon_status value has current source lifecycle. unit_cephadm_daemon_status: kind: unit upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:910-915 + - src/pybind/mgr/prometheus/module.py:948-953 claim: The registered ceph_cephadm_daemon_status value uses the declared source unit algebra. labels_cephadm_daemon_status: kind: label upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:910-915 + - src/pybind/mgr/prometheus/module.py:948-953 claim: The ceph_cephadm_daemon_status source family exposes the declared source label set. population_cephfs_mirror_mirror_enable_failures: kind: population @@ -10499,7 +10499,7 @@ evidence: upstream: ceph_tentacle locations: - src/exporter/DaemonMetricCollector.cc:462-476 - - src/pybind/mgr/prometheus/module.py:1769-1794 + - src/pybind/mgr/prometheus/module.py:1850-1875 - src/rgw/driver/rados/rgw_sync_counters.cc:24 claim: The registered ceph_data_sync_from_zone_lock_latency_count source family observes Average latency of sync lock operations Count @@ -10508,7 +10508,7 @@ evidence: upstream: ceph_tentacle locations: - src/exporter/DaemonMetricCollector.cc:462-476 - - src/pybind/mgr/prometheus/module.py:1769-1794 + - src/pybind/mgr/prometheus/module.py:1850-1875 - src/rgw/driver/rados/rgw_sync_counters.cc:24 claim: The registered ceph_data_sync_from_zone_lock_latency_count value has cumulative source lifecycle. unit_data_sync_from_zone_lock_latency_count: @@ -10516,7 +10516,7 @@ evidence: upstream: ceph_tentacle locations: - src/exporter/DaemonMetricCollector.cc:462-476 - - src/pybind/mgr/prometheus/module.py:1769-1794 + - src/pybind/mgr/prometheus/module.py:1850-1875 - src/rgw/driver/rados/rgw_sync_counters.cc:24 claim: The registered ceph_data_sync_from_zone_lock_latency_count value uses the declared source unit algebra. labels_data_sync_from_zone_lock_latency_count: @@ -10524,7 +10524,7 @@ evidence: upstream: ceph_tentacle locations: - src/exporter/DaemonMetricCollector.cc:462-476 - - src/pybind/mgr/prometheus/module.py:1769-1794 + - src/pybind/mgr/prometheus/module.py:1850-1875 - src/rgw/driver/rados/rgw_sync_counters.cc:24 claim: The ceph_data_sync_from_zone_lock_latency_count source family exposes the declared source label set. population_data_sync_from_zone_lock_latency_sum: @@ -10532,7 +10532,7 @@ evidence: upstream: ceph_tentacle locations: - src/exporter/DaemonMetricCollector.cc:462-476 - - src/pybind/mgr/prometheus/module.py:1769-1794 + - src/pybind/mgr/prometheus/module.py:1850-1875 - src/rgw/driver/rados/rgw_sync_counters.cc:24 claim: The registered ceph_data_sync_from_zone_lock_latency_sum source family observes Average latency of sync lock operations Total @@ -10541,7 +10541,7 @@ evidence: upstream: ceph_tentacle locations: - src/exporter/DaemonMetricCollector.cc:462-476 - - src/pybind/mgr/prometheus/module.py:1769-1794 + - src/pybind/mgr/prometheus/module.py:1850-1875 - src/rgw/driver/rados/rgw_sync_counters.cc:24 claim: The registered ceph_data_sync_from_zone_lock_latency_sum value has cumulative source lifecycle. unit_data_sync_from_zone_lock_latency_sum: @@ -10549,7 +10549,7 @@ evidence: upstream: ceph_tentacle locations: - src/exporter/DaemonMetricCollector.cc:462-476 - - src/pybind/mgr/prometheus/module.py:1769-1794 + - src/pybind/mgr/prometheus/module.py:1850-1875 - src/rgw/driver/rados/rgw_sync_counters.cc:24 claim: The registered ceph_data_sync_from_zone_lock_latency_sum value uses the declared source unit algebra. labels_data_sync_from_zone_lock_latency_sum: @@ -10557,7 +10557,7 @@ evidence: upstream: ceph_tentacle locations: - src/exporter/DaemonMetricCollector.cc:462-476 - - src/pybind/mgr/prometheus/module.py:1769-1794 + - src/pybind/mgr/prometheus/module.py:1850-1875 - src/rgw/driver/rados/rgw_sync_counters.cc:24 claim: The ceph_data_sync_from_zone_lock_latency_sum source family exposes the declared source label set. population_data_sync_from_zone_poll_errors: @@ -15368,74 +15368,74 @@ evidence: kind: population upstream: ceph_tentacle locations: - - src/mds/MDCache.cc:13828-13829 + - src/mds/MDCache.cc:13831-13832 claim: The registered ceph_mds_cache_uninline_started source family observes Internal Counter type uninline started lifecycle_mds_cache_uninline_started: kind: lifecycle upstream: ceph_tentacle locations: - - src/mds/MDCache.cc:13828-13829 + - src/mds/MDCache.cc:13831-13832 claim: The registered ceph_mds_cache_uninline_started value has cumulative source lifecycle. unit_mds_cache_uninline_started: kind: unit upstream: ceph_tentacle locations: - - src/mds/MDCache.cc:13828-13829 + - src/mds/MDCache.cc:13831-13832 claim: The registered ceph_mds_cache_uninline_started value uses the declared source unit algebra. labels_mds_cache_uninline_started: kind: label upstream: ceph_tentacle locations: - - src/mds/MDCache.cc:13828-13829 + - src/mds/MDCache.cc:13831-13832 claim: The ceph_mds_cache_uninline_started source family exposes the declared source label set. population_mds_cache_uninline_succeeded: kind: population upstream: ceph_tentacle locations: - - src/mds/MDCache.cc:13830-13831 + - src/mds/MDCache.cc:13833-13834 claim: The registered ceph_mds_cache_uninline_succeeded source family observes Internal Counter type uninline succeeded lifecycle_mds_cache_uninline_succeeded: kind: lifecycle upstream: ceph_tentacle locations: - - src/mds/MDCache.cc:13830-13831 + - src/mds/MDCache.cc:13833-13834 claim: The registered ceph_mds_cache_uninline_succeeded value has cumulative source lifecycle. unit_mds_cache_uninline_succeeded: kind: unit upstream: ceph_tentacle locations: - - src/mds/MDCache.cc:13830-13831 + - src/mds/MDCache.cc:13833-13834 claim: The registered ceph_mds_cache_uninline_succeeded value uses the declared source unit algebra. labels_mds_cache_uninline_succeeded: kind: label upstream: ceph_tentacle locations: - - src/mds/MDCache.cc:13830-13831 + - src/mds/MDCache.cc:13833-13834 claim: The ceph_mds_cache_uninline_succeeded source family exposes the declared source label set. population_mds_cache_uninline_write_failed: kind: population upstream: ceph_tentacle locations: - - src/mds/MDCache.cc:13832-13833 + - src/mds/MDCache.cc:13835-13836 claim: The registered ceph_mds_cache_uninline_write_failed source family observes Internal Counter type uninline write failed lifecycle_mds_cache_uninline_write_failed: kind: lifecycle upstream: ceph_tentacle locations: - - src/mds/MDCache.cc:13832-13833 + - src/mds/MDCache.cc:13835-13836 claim: The registered ceph_mds_cache_uninline_write_failed value has cumulative source lifecycle. unit_mds_cache_uninline_write_failed: kind: unit upstream: ceph_tentacle locations: - - src/mds/MDCache.cc:13832-13833 + - src/mds/MDCache.cc:13835-13836 claim: The registered ceph_mds_cache_uninline_write_failed value uses the declared source unit algebra. labels_mds_cache_uninline_write_failed: kind: label upstream: ceph_tentacle locations: - - src/mds/MDCache.cc:13832-13833 + - src/mds/MDCache.cc:13835-13836 claim: The ceph_mds_cache_uninline_write_failed source family exposes the declared source label set. population_mds_caps: kind: population @@ -25558,19 +25558,19 @@ evidence: kind: population upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:823-828 + - src/pybind/mgr/prometheus/module.py:861-866 claim: The registered ceph_osd_full_ratio source family observes OSD cluster-wide full ratio lifecycle_osd_full_ratio: kind: lifecycle upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:823-828 + - src/pybind/mgr/prometheus/module.py:861-866 claim: The registered ceph_osd_full_ratio value has current source lifecycle. unit_osd_full_ratio: kind: unit upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:823-828 + - src/pybind/mgr/prometheus/module.py:861-866 claim: The registered ceph_osd_full_ratio value uses the declared source unit algebra. population_osd_heartbeat_to_peers: kind: population @@ -26193,19 +26193,19 @@ evidence: kind: population upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:817-822 + - src/pybind/mgr/prometheus/module.py:855-860 claim: The registered ceph_osd_nearfull_ratio source family observes OSD cluster-wide nearfull ratio lifecycle_osd_nearfull_ratio: kind: lifecycle upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:817-822 + - src/pybind/mgr/prometheus/module.py:855-860 claim: The registered ceph_osd_nearfull_ratio value has current source lifecycle. unit_osd_nearfull_ratio: kind: unit upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:817-822 + - src/pybind/mgr/prometheus/module.py:855-860 claim: The registered ceph_osd_nearfull_ratio value uses the declared source unit algebra. population_osd_num_scrubs_past_reservation_ec: kind: population @@ -36740,25 +36740,25 @@ evidence: kind: population upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:869-874 + - src/pybind/mgr/prometheus/module.py:907-912 claim: The registered ceph_rbd_image_metadata source family observes RBD Image Metadata lifecycle_rbd_image_metadata: kind: lifecycle upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:869-874 + - src/pybind/mgr/prometheus/module.py:907-912 claim: The registered ceph_rbd_image_metadata value has current source lifecycle. unit_rbd_image_metadata: kind: unit upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:869-874 + - src/pybind/mgr/prometheus/module.py:907-912 claim: The registered ceph_rbd_image_metadata value uses the declared source unit algebra. labels_rbd_image_metadata: kind: label upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:869-874 + - src/pybind/mgr/prometheus/module.py:907-912 claim: The ceph_rbd_image_metadata source family exposes the declared source label set. population_rbd_librbd_image_cmp: kind: population @@ -41537,26 +41537,26 @@ evidence: kind: population upstream: ceph_tentacle locations: - - src/osd/osd_perf_counters.cc:533 + - src/osd/osd_perf_counters.cc:542 claim: The registered ceph_recoverystate_perf_stats_invalidated source family observes Number of times pg stats received invalidations lifecycle_recoverystate_perf_stats_invalidated: kind: lifecycle upstream: ceph_tentacle locations: - - src/osd/osd_perf_counters.cc:533 + - src/osd/osd_perf_counters.cc:542 claim: The registered ceph_recoverystate_perf_stats_invalidated value has cumulative source lifecycle. unit_recoverystate_perf_stats_invalidated: kind: unit upstream: ceph_tentacle locations: - - src/osd/osd_perf_counters.cc:533 + - src/osd/osd_perf_counters.cc:542 claim: The registered ceph_recoverystate_perf_stats_invalidated value uses the declared source unit algebra. labels_recoverystate_perf_stats_invalidated: kind: label upstream: ceph_tentacle locations: - - src/osd/osd_perf_counters.cc:533 + - src/osd/osd_perf_counters.cc:542 claim: The ceph_recoverystate_perf_stats_invalidated source family exposes the declared source label set. population_recoverystate_perf_stray_latency_count: kind: population @@ -43524,25 +43524,25 @@ evidence: kind: population upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:904-909 + - src/pybind/mgr/prometheus/module.py:942-947 claim: The registered ceph_smb_metadata source family observes SMB Metadata lifecycle_smb_metadata: kind: lifecycle upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:904-909 + - src/pybind/mgr/prometheus/module.py:942-947 claim: The registered ceph_smb_metadata value has current source lifecycle. unit_smb_metadata: kind: unit upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:904-909 + - src/pybind/mgr/prometheus/module.py:942-947 claim: The registered ceph_smb_metadata value uses the declared source unit algebra. labels_smb_metadata: kind: label upstream: ceph_tentacle locations: - - src/pybind/mgr/prometheus/module.py:904-909 + - src/pybind/mgr/prometheus/module.py:942-947 claim: The ceph_smb_metadata source family exposes the declared source label set. population_throttle_get: kind: population @@ -43900,6 +43900,154 @@ evidence: locations: - src/common/TrackedOp.h:83-84 claim: The ceph_trackedop_slow_ops_count source family exposes the declared source label set. + population_hardware_metrics: + kind: population + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:1039-1080 + claim: Tentacle registers the declared hardware metric families for the node-proxy hardware population. + lifecycle_hardware_metrics: + kind: lifecycle + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:2166-2190 + claim: Tentacle clears the hardware metric families on every MGR collection and repopulates current observations from node-proxy. + unit_hardware_capacity_bytes: + kind: unit + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:1039-1058 + claim: Tentacle labels storage and memory capacity hardware values as bytes. + unit_hardware_cpu_cores: + kind: unit + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:1046-1051 + claim: Tentacle labels hardware CPU values as total cores. + unit_hardware_fan_revolutions_per_minute: + kind: unit + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:168-179 + - src/pybind/mgr/prometheus/module.py:1067-1073 + claim: Tentacle reports hardware fan speed as rotations per minute without converting the raw value to hertz. + unit_hardware_firmware_info: + kind: unit + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:1075-1080 + claim: Tentacle's hardware firmware information metric is the constant value one with its version carried by labels. + unit_hardware_health: + kind: unit + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:1060-1065 + - src/pybind/mgr/prometheus/module.py:2041-2073 + claim: Tentacle maps hardware health to the current ordinal state 0=OK, 1=Warning, 2=Error. + unit_hardware_temperature_celsius: + kind: unit + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:168-179 + - src/pybind/mgr/prometheus/module.py:1067-1073 + claim: Tentacle labels hardware temperature readings as Celsius. + labels_hardware_storage: + kind: label + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:143-156 + - src/pybind/mgr/prometheus/module.py:2098-2112 + claim: Tentacle storage capacity values carry hostname, device, model, protocol, firmware version, slot, and serial-number identity. + labels_hardware_cpu: + kind: label + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:143-156 + - src/pybind/mgr/prometheus/module.py:2114-2126 + claim: Tentacle CPU-core values carry hostname, CPU, manufacturer, model, and total-thread identity. + labels_hardware_memory: + kind: label + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:143-156 + - src/pybind/mgr/prometheus/module.py:2128-2139 + claim: Tentacle memory-capacity values carry hostname, DIMM, and memory-type identity. + labels_hardware_health: + kind: label + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:143-156 + - src/pybind/mgr/prometheus/module.py:2062-2073 + claim: Tentacle hardware-health values carry hostname, component, and hardware-category identity. + labels_hardware_fan: + kind: label + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:143-179 + - src/pybind/mgr/prometheus/module.py:2084-2096 + claim: Tentacle fan-speed values carry hostname and fan-name identity. + labels_hardware_temperature: + kind: label + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:143-179 + - src/pybind/mgr/prometheus/module.py:2084-2096 + claim: Tentacle temperature values carry hostname and sensor-name identity. + labels_hardware_firmware: + kind: label + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:143-156 + - src/pybind/mgr/prometheus/module.py:2155-2163 + claim: Tentacle firmware values carry hostname, component, and firmware-version identity. + delegation_hardware_metrics: + kind: delegation + upstream: ceph_tentacle + locations: + - src/pybind/mgr/prometheus/module.py:1039-1080 + claim: Tentacle exposes distinct hardware inventory, health, fan, and temperature metric families that require hardware-specific profile treatment. + population_pg_rebuild: + kind: population + upstream: ceph_tentacle + locations: + - src/osd/osd_perf_counters.cc:534-542 + claim: Tentacle exposes PG-rebuild duration count, accumulated duration, maximum, and minimum observations for primary OSD recovery. + lifecycle_pg_rebuild_count: + kind: lifecycle + upstream: ceph_tentacle + locations: + - src/osd/osd_perf_counters.cc:534-536 + claim: Tentacle's PG-rebuild duration count is cumulative. + lifecycle_pg_rebuild_duration: + kind: lifecycle + upstream: ceph_tentacle + locations: + - src/osd/osd_perf_counters.cc:534-542 + claim: Tentacle's PG-rebuild duration total, maximum, and minimum observations have their declared cumulative or current source lifecycle. + unit_pg_rebuild_count: + kind: unit + upstream: ceph_tentacle + locations: + - src/osd/osd_perf_counters.cc:534-536 + claim: Tentacle's PG-rebuild duration count uses count units. + unit_pg_rebuild_duration: + kind: unit + upstream: ceph_tentacle + locations: + - src/osd/osd_perf_counters.cc:534-542 + claim: Tentacle's PG-rebuild duration total, maximum, and minimum use seconds. + labels_pg_rebuild: + kind: label + upstream: ceph_tentacle + locations: + - src/osd/osd_perf_counters.cc:534-542 + claim: Tentacle's PG-rebuild perf-counter families retain the source daemon identity used for per-daemon recovery observations. + delegation_pg_rebuild: + kind: delegation + upstream: ceph_tentacle + locations: + - src/osd/osd_perf_counters.cc:534-542 + claim: Tentacle exposes a distinct primary-OSD PG-rebuild recovery domain that requires recovery-specific profile treatment. environment: axes: source: @@ -43959,6 +44107,8 @@ environment: component_policies: {} label_policies: labels_cluster_osd_blocklist_count: {} + labels_pg_rebuild: + ceph_daemon: {meaning: Stable Ceph daemon service identifier added by the producer, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: stable, evidence: [labels_pg_rebuild]} signals: asyncmessenger_rdmadispatcher_active_queue_pair: source: @@ -119042,6 +119192,242 @@ signals: evidence: - labels_trackedop_slow_ops_count functional_dependencies: {} + hardware_cpu_cores: + source: + generated: + registry_groups: + - mgr_synthetic + scope: + registrations: + - ceph_hardware_cpu_cores + population: + id: hardware_cpu_cores + meaning: Total CPU cores per reported processor. + evidence: [population_hardware_metrics] + components: + value: + wire_role: scalar + lifecycle: {kind: current, evidence: [lifecycle_hardware_metrics]} + unit: {quantity: count, base: one, rate: none, object: cpu_cores, aspect: total, evidence: [unit_hardware_cpu_cores]} + functional_dependencies: {} + labels: + hostname: {meaning: Node-proxy host identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_cpu]} + cpu: {meaning: Processor identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_cpu]} + manufacturer: {meaning: Processor manufacturer, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_cpu]} + model: {meaning: Processor model, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_cpu]} + total_threads: {meaning: Processor thread-count identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_cpu]} + hardware_fan_rpm: + source: + generated: + registry_groups: + - mgr_synthetic + scope: + registrations: + - ceph_hardware_fan_rpm + population: + id: hardware_fan_rpm + meaning: Current fan speed in rotations per minute. + evidence: [population_hardware_metrics] + components: + value: + wire_role: scalar + lifecycle: {kind: current, evidence: [lifecycle_hardware_metrics]} + unit: {quantity: count, base: one, rate: none, object: fan_revolutions_per_minute, aspect: reported, evidence: [unit_hardware_fan_revolutions_per_minute]} + functional_dependencies: {} + labels: + hostname: {meaning: Node-proxy host identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_fan]} + fan_name: {meaning: Hardware fan identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_fan]} + hardware_firmware_info: + source: + generated: + registry_groups: + - mgr_synthetic + scope: + registrations: + - ceph_hardware_firmware_info + population: + id: hardware_firmware_info + meaning: Firmware-version metadata per reported component. + evidence: [population_hardware_metrics] + components: + value: + wire_role: scalar + lifecycle: {kind: constant, evidence: [lifecycle_hardware_metrics]} + unit: {quantity: count, base: one, rate: none, object: firmware_version_metadata, aspect: present, evidence: [unit_hardware_firmware_info]} + functional_dependencies: {} + labels: + hostname: {meaning: Node-proxy host identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_firmware]} + component: {meaning: Firmware component identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_firmware]} + version: {meaning: Firmware version identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_firmware]} + hardware_health: + source: + generated: + registry_groups: + - mgr_synthetic + scope: + registrations: + - ceph_hardware_health + population: + id: hardware_health + meaning: Current ordinal health state per reported hardware component. + evidence: [population_hardware_metrics] + components: + value: + wire_role: scalar + lifecycle: {kind: current, evidence: [lifecycle_hardware_metrics]} + unit: {quantity: state, base: one, rate: none, object: hardware_health, aspect: ordinal, evidence: [unit_hardware_health]} + functional_dependencies: {} + labels: + hostname: {meaning: Node-proxy host identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_health]} + component: {meaning: Hardware component identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_health]} + category: {meaning: Hardware component category, presence: required, domain: {kind: closed, values: [storage, processors, memory, power, network, fans, temperatures]}, endpoint_cardinality: {kind: closed_domain}, stability: stable, evidence: [labels_hardware_health]} + hardware_memory_capacity_bytes: + source: + generated: + registry_groups: + - mgr_synthetic + scope: + registrations: + - ceph_hardware_memory_capacity_bytes + population: + id: hardware_memory_capacity_bytes + meaning: Memory capacity per reported DIMM. + evidence: [population_hardware_metrics] + components: + value: + wire_role: scalar + lifecycle: {kind: current, evidence: [lifecycle_hardware_metrics]} + unit: {quantity: data, base: byte, rate: none, object: memory_capacity, aspect: reported, evidence: [unit_hardware_capacity_bytes]} + functional_dependencies: {} + labels: + hostname: {meaning: Node-proxy host identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_memory]} + dimm: {meaning: Memory-module identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_memory]} + type: {meaning: Memory-module type, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_memory]} + hardware_storage_capacity_bytes: + source: + generated: + registry_groups: + - mgr_synthetic + scope: + registrations: + - ceph_hardware_storage_capacity_bytes + population: + id: hardware_storage_capacity_bytes + meaning: Storage capacity per reported device. + evidence: [population_hardware_metrics] + components: + value: + wire_role: scalar + lifecycle: {kind: current, evidence: [lifecycle_hardware_metrics]} + unit: {quantity: data, base: byte, rate: none, object: storage_capacity, aspect: reported, evidence: [unit_hardware_capacity_bytes]} + functional_dependencies: {} + labels: + hostname: {meaning: Node-proxy host identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_storage]} + device: {meaning: Storage-device identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_storage]} + model: {meaning: Storage-device model, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_storage]} + protocol: {meaning: Storage-device protocol, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_storage]} + firmware_version: {meaning: Storage-device firmware version, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_storage]} + slot: {meaning: Storage-device slot identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_storage]} + serial_number: {meaning: Storage-device serial-number identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_storage]} + hardware_temperature_celsius: + source: + generated: + registry_groups: + - mgr_synthetic + scope: + registrations: + - ceph_hardware_temperature_celsius + population: + id: hardware_temperature_celsius + meaning: Current temperature per reported hardware sensor. + evidence: [population_hardware_metrics] + components: + value: + wire_role: scalar + lifecycle: {kind: current, evidence: [lifecycle_hardware_metrics]} + unit: {quantity: temperature, base: celsius, rate: none, object: hardware_sensor, aspect: reported, evidence: [unit_hardware_temperature_celsius]} + functional_dependencies: {} + labels: + hostname: {meaning: Node-proxy host identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_temperature]} + sensor_name: {meaning: Hardware temperature-sensor identity, presence: required, domain: {kind: open}, endpoint_cardinality: {kind: operational_population}, stability: dynamic, evidence: [labels_hardware_temperature]} + recoverystate_perf_pg_rebuild_duration_count: + source: + generated: + registry_groups: + - daemon_perf + scope: + registrations: + - ceph_recoverystate_perf_pg_rebuild_duration_count + population: + id: recoverystate_perf_pg_rebuild_duration_count + meaning: Primary-OSD PG-rebuild duration measurement count. + evidence: [population_pg_rebuild] + components: + value: + wire_role: scalar + lifecycle: {kind: cumulative, evidence: [lifecycle_pg_rebuild_count]} + unit: {quantity: count, base: one, rate: none, object: duration_measurements, aspect: pg_rebuild, evidence: [unit_pg_rebuild_count]} + functional_dependencies: {} + label_policy: labels_pg_rebuild + recoverystate_perf_pg_rebuild_duration_sum: + source: + generated: + registry_groups: + - exporter_perf + - mgr_perf + scope: + registrations: + - ceph_recoverystate_perf_pg_rebuild_duration_sum_exporter_perf + - ceph_recoverystate_perf_pg_rebuild_duration_sum_mgr_perf + population: + id: recoverystate_perf_pg_rebuild_duration_sum + meaning: Accumulated primary-OSD PG-rebuild duration. + evidence: [population_pg_rebuild] + components: + value: + wire_role: scalar + lifecycle: {kind: cumulative, evidence: [lifecycle_pg_rebuild_duration]} + unit: {quantity: duration, base: second, rate: none, object: accumulated_pg_rebuild_duration, aspect: primary_osd, evidence: [unit_pg_rebuild_duration]} + functional_dependencies: {} + label_policy: labels_pg_rebuild + recoverystate_perf_pg_rebuild_max_secs: + source: + generated: + registry_groups: + - daemon_perf + scope: + registrations: + - ceph_recoverystate_perf_pg_rebuild_max_secs + population: + id: recoverystate_perf_pg_rebuild_max_secs + meaning: Maximum primary-OSD PG-rebuild duration observed. + evidence: [population_pg_rebuild] + components: + value: + wire_role: scalar + lifecycle: {kind: current, evidence: [lifecycle_pg_rebuild_duration]} + unit: {quantity: duration, base: second, rate: none, object: pg_rebuild_duration, aspect: maximum, evidence: [unit_pg_rebuild_duration]} + functional_dependencies: {} + label_policy: labels_pg_rebuild + recoverystate_perf_pg_rebuild_min_secs: + source: + generated: + registry_groups: + - daemon_perf + scope: + registrations: + - ceph_recoverystate_perf_pg_rebuild_min_secs + population: + id: recoverystate_perf_pg_rebuild_min_secs + meaning: Minimum primary-OSD PG-rebuild duration observed. + evidence: [population_pg_rebuild] + components: + value: + wire_role: scalar + lifecycle: {kind: current, evidence: [lifecycle_pg_rebuild_duration]} + unit: {quantity: duration, base: second, rate: none, object: pg_rebuild_duration, aspect: minimum, evidence: [unit_pg_rebuild_duration]} + functional_dependencies: {} + label_policy: labels_pg_rebuild relationships: data_sync_from_zone_fetch_bytes_count_mgr_duplicate: kind: equivalent diff --git a/prometheus/profiles/ceph/fixtures/ceph_tentacle_ceph_exporter_limit11.prom b/prometheus/profiles/ceph/fixtures/ceph_tentacle_ceph_exporter_limit11.prom index 4dab10d..3a0f231 100644 --- a/prometheus/profiles/ceph/fixtures/ceph_tentacle_ceph_exporter_limit11.prom +++ b/prometheus/profiles/ceph/fixtures/ceph_tentacle_ceph_exporter_limit11.prom @@ -6565,3 +6565,19 @@ ceph_throttle_throttle_key_a_wait_sum{ceph_daemon="osd.0"} 1 # HELP ceph_trackedop_slow_ops_count Number of operations taking over ten second. # TYPE ceph_trackedop_slow_ops_count counter ceph_trackedop_slow_ops_count{ceph_daemon="osd.0"} 100 + +# HELP ceph_recoverystate_perf_pg_rebuild_duration_count Average PG rebuild duration on this OSD (primary role only) Count. +# TYPE ceph_recoverystate_perf_pg_rebuild_duration_count counter +ceph_recoverystate_perf_pg_rebuild_duration_count{ceph_daemon="osd.0"} 10 + +# HELP ceph_recoverystate_perf_pg_rebuild_duration_sum Average PG rebuild duration on this OSD (primary role only) Total. +# TYPE ceph_recoverystate_perf_pg_rebuild_duration_sum gauge +ceph_recoverystate_perf_pg_rebuild_duration_sum{ceph_daemon="osd.0"} 120 + +# HELP ceph_recoverystate_perf_pg_rebuild_max_secs Max PG rebuild duration seen on this OSD in seconds (primary role only). +# TYPE ceph_recoverystate_perf_pg_rebuild_max_secs gauge +ceph_recoverystate_perf_pg_rebuild_max_secs{ceph_daemon="osd.0"} 30 + +# HELP ceph_recoverystate_perf_pg_rebuild_min_secs Min PG rebuild duration seen on this OSD in seconds (primary role only). +# TYPE ceph_recoverystate_perf_pg_rebuild_min_secs gauge +ceph_recoverystate_perf_pg_rebuild_min_secs{ceph_daemon="osd.0"} 2 diff --git a/prometheus/profiles/ceph/fixtures/ceph_tentacle_mgr_limit11.prom b/prometheus/profiles/ceph/fixtures/ceph_tentacle_mgr_limit11.prom index 6e7f0ff..53fd3a5 100644 --- a/prometheus/profiles/ceph/fixtures/ceph_tentacle_mgr_limit11.prom +++ b/prometheus/profiles/ceph/fixtures/ceph_tentacle_mgr_limit11.prom @@ -6996,3 +6996,53 @@ ceph_throttle_throttle_key_a_wait_sum{ceph_daemon="osd.0"} 100 # HELP ceph_trackedop_slow_ops_count Number of operations taking over ten second. # TYPE ceph_trackedop_slow_ops_count counter ceph_trackedop_slow_ops_count{ceph_daemon="osd.0"} 100 + +# HELP ceph_hardware_cpu_cores Total CPU cores. +# TYPE ceph_hardware_cpu_cores gauge +ceph_hardware_cpu_cores{hostname="node-a",cpu="cpu-0",manufacturer="vendor-a",model="model-a",total_threads="16"} 8 + +# HELP ceph_hardware_fan_rpm Hardware fan speed in RPM. +# TYPE ceph_hardware_fan_rpm gauge +ceph_hardware_fan_rpm{hostname="node-a",fan_name="fan-0"} 7200 + +# HELP ceph_hardware_firmware_info Firmware version information (value is always 1, version in label). +# TYPE ceph_hardware_firmware_info gauge +ceph_hardware_firmware_info{hostname="node-a",component="bios",version="1.2.3"} 1 + +# HELP ceph_hardware_health Hardware component health status (0=OK, 1=Warning, 2=Error). +# TYPE ceph_hardware_health gauge +ceph_hardware_health{hostname="node-a",component="drive-0",category="storage"} 2 +ceph_hardware_health{hostname="node-a",component="cpu-0",category="processors"} 1 +ceph_hardware_health{hostname="node-a",component="dimm-0",category="memory"} 0 +ceph_hardware_health{hostname="node-a",component="psu-0",category="power"} 0 +ceph_hardware_health{hostname="node-a",component="nic-0",category="network"} 1 +ceph_hardware_health{hostname="node-a",component="fan-0",category="fans"} 2 +ceph_hardware_health{hostname="node-a",component="temp-0",category="temperatures"} 1 + +# HELP ceph_hardware_memory_capacity_bytes Memory capacity in bytes. +# TYPE ceph_hardware_memory_capacity_bytes gauge +ceph_hardware_memory_capacity_bytes{hostname="node-a",dimm="dimm-0",type="DDR5"} 34359738368 + +# HELP ceph_hardware_storage_capacity_bytes Storage device capacity in bytes. +# TYPE ceph_hardware_storage_capacity_bytes gauge +ceph_hardware_storage_capacity_bytes{hostname="node-a",device="drive-0",model="model-a",protocol="nvme",firmware_version="1.2.3",slot="slot-0",serial_number="serial-a"} 1000000000000 + +# HELP ceph_hardware_temperature_celsius Hardware temperature sensor reading in Celsius. +# TYPE ceph_hardware_temperature_celsius gauge +ceph_hardware_temperature_celsius{hostname="node-a",sensor_name="temp-0"} 70 + +# HELP ceph_recoverystate_perf_pg_rebuild_duration_count Average PG rebuild duration on this OSD (primary role only) Count. +# TYPE ceph_recoverystate_perf_pg_rebuild_duration_count counter +ceph_recoverystate_perf_pg_rebuild_duration_count{ceph_daemon="osd.0"} 10 + +# HELP ceph_recoverystate_perf_pg_rebuild_duration_sum Average PG rebuild duration on this OSD (primary role only) Total. +# TYPE ceph_recoverystate_perf_pg_rebuild_duration_sum counter +ceph_recoverystate_perf_pg_rebuild_duration_sum{ceph_daemon="osd.0"} 120 + +# HELP ceph_recoverystate_perf_pg_rebuild_max_secs Max PG rebuild duration seen on this OSD in seconds (primary role only). +# TYPE ceph_recoverystate_perf_pg_rebuild_max_secs gauge +ceph_recoverystate_perf_pg_rebuild_max_secs{ceph_daemon="osd.0"} 30 + +# HELP ceph_recoverystate_perf_pg_rebuild_min_secs Min PG rebuild duration seen on this OSD in seconds (primary role only). +# TYPE ceph_recoverystate_perf_pg_rebuild_min_secs gauge +ceph_recoverystate_perf_pg_rebuild_min_secs{ceph_daemon="osd.0"} 2 diff --git a/prometheus/profiles/ceph/generator/generate.py b/prometheus/profiles/ceph/generator/generate.py index ed5923d..992648d 100644 --- a/prometheus/profiles/ceph/generator/generate.py +++ b/prometheus/profiles/ceph/generator/generate.py @@ -378,6 +378,12 @@ def _mgr_expression(node: ast.AST, values: dict[str, object]) -> object: return left in right if isinstance(node.ops[0], ast.NotIn): return left not in right + if isinstance(node, ast.Call) and isinstance(node.func, ast.Name): + arguments = [_mgr_expression(item, values) for item in node.args] + if node.keywords: + raise ValueError(f"unsupported keyword argument in MGR source expression at line {node.lineno}") + if node.func.id == "sensor_metric" and len(arguments) == 3: + return dict(zip(("metric", "description", "labels"), arguments)) if isinstance(node, ast.Call) and isinstance(node.func, ast.Attribute): receiver = _mgr_expression(node.func.value, values) arguments = [_mgr_expression(item, values) for item in node.args] @@ -390,6 +396,35 @@ def _mgr_expression(node: ast.AST, values: dict[str, object]) -> object: raise ValueError(f"unsupported MGR source expression {ast.dump(node, include_attributes=False)}") +def _mgr_loop_items( + statement: ast.For, + environment: dict[str, object], + locations: dict[str, tuple[str, int, int]], +) -> tuple[str, tuple[object, ...], tuple[str, int, int]]: + if not isinstance(statement.target, ast.Name): + raise ValueError(f"unsupported MGR source loop at line {statement.lineno}") + if isinstance(statement.iter, ast.Name): + registry_name = statement.iter.id + registry = environment.get(registry_name) + if registry_name not in locations or not isinstance(registry, (list, tuple)): + raise ValueError(f"unsupported MGR source loop at line {statement.lineno}") + return statement.target.id, tuple(registry), locations[registry_name] + if ( + isinstance(statement.iter, ast.Call) + and not statement.iter.args + and not statement.iter.keywords + and isinstance(statement.iter.func, ast.Attribute) + and statement.iter.func.attr == "values" + and isinstance(statement.iter.func.value, ast.Name) + ): + registry_name = statement.iter.func.value.id + registry = environment.get(registry_name) + if registry_name not in locations or not isinstance(registry, dict): + raise ValueError(f"unsupported MGR source loop at line {statement.lineno}") + return statement.target.id, tuple(registry.values()), locations[registry_name] + raise ValueError(f"unsupported MGR source loop at line {statement.lineno}") + + def parse_mgr_static_registrations(root: Path, release: str) -> list[Registration]: source_path = "src/pybind/mgr/prometheus/module.py" mgr_module_path = "src/pybind/mgr/mgr_module.py" @@ -421,6 +456,28 @@ def parse_mgr_static_registrations(root: Path, release: str) -> list[Registratio values["HEALTH_CHECKS"] = health_checks locations["HEALTH_CHECKS"] = (source_path, health_assignment.lineno, health_assignment.end_lineno or health_assignment.lineno) + sensor_assignment = next(( + node for node in tree.body + if isinstance(node, ast.AnnAssign) + and isinstance(node.target, ast.Name) + and node.target.id == "SENSOR_METRICS" + ), None) + if sensor_assignment is not None: + if not isinstance(sensor_assignment.value, ast.Dict): + raise ValueError(f"{source_path} SENSOR_METRICS is not a literal mapping") + sensors = _mgr_expression(sensor_assignment.value, values) + if not isinstance(sensors, dict) or not all( + isinstance(sensor, dict) and set(sensor) == {"metric", "description", "labels"} + for sensor in sensors.values() + ): + raise ValueError(f"{source_path} SENSOR_METRICS has an unsupported entry") + values["SENSOR_METRICS"] = sensors + locations["SENSOR_METRICS"] = ( + source_path, + sensor_assignment.lineno, + sensor_assignment.end_lineno or sensor_assignment.lineno, + ) + module_class = next((node for node in tree.body if isinstance(node, ast.ClassDef) and node.name == "Module"), None) if module_class is None: raise ValueError(f"{source_path} has no Module class") @@ -437,14 +494,12 @@ def execute(statements: list[ast.stmt], environment: dict[str, object], inherite for statement in statements: if isinstance(statement, ast.Return): continue - if isinstance(statement, ast.For) and isinstance(statement.target, ast.Name) and isinstance(statement.iter, ast.Name): - registry_name = statement.iter.id - if registry_name not in environment or registry_name not in locations: - raise ValueError(f"unsupported MGR source loop at line {statement.lineno}") - for item in environment[registry_name]: + if isinstance(statement, ast.For): + target_name, items, location = _mgr_loop_items(statement, environment, locations) + for item in items: nested = dict(environment) - nested[statement.target.id] = item - execute(statement.body, nested, inherited + (locations[registry_name],)) + nested[target_name] = item + execute(statement.body, nested, inherited + (location,)) continue if not isinstance(statement, ast.Assign) or len(statement.targets) != 1: raise ValueError(f"unsupported MGR source statement {type(statement).__name__} at line {statement.lineno}") @@ -478,6 +533,7 @@ def execute(statements: list[ast.stmt], environment: dict[str, object], inherite form=metric_name, prometheus_type=metric_type_value, priority=0, + shape=metric_family_shape(prometheus_name(metric_name), metric_type_value, "scalar"), endpoint="mgr_synthetic", classification="gauge" if metric_type_value == "untyped" else None, exact_family_override=prometheus_name(metric_name), diff --git a/prometheus/profiles/ceph/generator/test_negative_parser.py b/prometheus/profiles/ceph/generator/test_negative_parser.py index 504eaf0..687071a 100644 --- a/prometheus/profiles/ceph/generator/test_negative_parser.py +++ b/prometheus/profiles/ceph/generator/test_negative_parser.py @@ -36,6 +36,55 @@ def test_rejects_unknown_mgr_expression(self): with self.assertRaisesRegex(ValueError, "unsupported MGR source expression"): GENERATOR._mgr_expression(expression, {}) + def test_parses_literal_sensor_metric_mapping(self): + expression = ast.parse( + "{'fans': sensor_metric('hardware_fan_rpm', 'Hardware fan speed in RPM', HW_FAN_LABELS)}", + mode="eval", + ).body + self.assertEqual( + GENERATOR._mgr_expression(expression, {"HW_FAN_LABELS": ("hostname", "fan_name")}), + { + "fans": { + "metric": "hardware_fan_rpm", + "description": "Hardware fan speed in RPM", + "labels": ("hostname", "fan_name"), + }, + }, + ) + + def test_accepts_only_literal_mapping_values_loop(self): + statement = ast.parse("for sensor in SENSOR_METRICS.values():\n pass").body[0] + assert isinstance(statement, ast.For) + sensor = {"metric": "hardware_fan_rpm"} + self.assertEqual( + GENERATOR._mgr_loop_items( + statement, + {"SENSOR_METRICS": {"fans": sensor}}, + {"SENSOR_METRICS": ("module.py", 1, 4)}, + ), + ("sensor", (sensor,), ("module.py", 1, 4)), + ) + + def test_rejects_other_mapping_loop_methods(self): + statement = ast.parse("for sensor in SENSOR_METRICS.items():\n pass").body[0] + assert isinstance(statement, ast.For) + with self.assertRaisesRegex(ValueError, "unsupported MGR source loop"): + GENERATOR._mgr_loop_items( + statement, + {"SENSOR_METRICS": {"fans": {"metric": "hardware_fan_rpm"}}}, + {"SENSOR_METRICS": ("module.py", 1, 4)}, + ) + + def test_classifies_gauge_info_families(self): + self.assertEqual( + GENERATOR.metric_family_shape("ceph_hardware_firmware_info", "gauge", "scalar"), + "info", + ) + self.assertEqual( + GENERATOR.metric_family_shape("ceph_hardware_firmware_info", "counter", "scalar"), + "scalar", + ) + def test_service_unique_id_is_terminal_identity(self): builder = GENERATOR.Builder(0, "plb", '"service_unique_id"', "service_unique_id") arguments = (