Merged
Conversation
ee03510 to
90103c8
Compare
35babf6 to
2a6fe6d
Compare
dabf435 to
a689aba
Compare
a689aba to
60bab31
Compare
12fe8a5 to
4b282c0
Compare
We can re-work global counters later. For now, this should be enough for them to keep working and passing tests.
The _total suffix never made sense...
To be investigated
This is a bugfix really, not specific to Ra counters
I'd consider this a bugfix - until now, /metrics/per-objects returned more metrics than /metrics when `return_per_object_metrics` was `true`. I'd expect exactly the same metrics in both cases
For aggregated metrics, we just pick specific metrics (currently
num_segments and commit_latency) and only publish the maximum value,
without labels (`max_` is added to the metric name). For example:
```
> curl -s localhost:15692/metrics/per-object | rg -e ^rabbitmq_raft_num_segments -e ^rabbitmq_raft_commit_latency
rabbitmq_raft_commit_latency_seconds{module="rabbit_khepri",ra_system="coordination"} 0.0
rabbitmq_raft_commit_latency_seconds{queue="qq2",vhost="/"} 0.02
rabbitmq_raft_commit_latency_seconds{queue="qqq-1",vhost="/"} 0.01
rabbitmq_raft_commit_latency_seconds{queue="qqq-2",vhost="/"} 0.0
rabbitmq_raft_num_segments{module="rabbit_khepri",ra_system="coordination"} 1.0
rabbitmq_raft_num_segments{queue="qq2",vhost="/"} 132.0
rabbitmq_raft_num_segments{queue="qqq-2",vhost="/"} 245.0
> curl -s localhost:15692/metrics/ | rg ^rabbitmq_raft_max
rabbitmq_raft_max_commit_latency_seconds 0.02
rabbitmq_raft_max_num_segments 245.0
```
4b282c0 to
c604e91
Compare
acogoluegnes
requested changes
Jul 24, 2025
acogoluegnes
approved these changes
Jul 24, 2025
michaelklishin
pushed a commit
that referenced
this pull request
Dec 19, 2025
Switch from ra_metrics to ra_counters * Expose many more metrics (they are also up to date) * Bump Seshat, Ra, Osiris, Prometheus.erl * switch from proplists to maps
michaelklishin
pushed a commit
that referenced
this pull request
Feb 24, 2026
Switch from ra_metrics to ra_counters * Expose many more metrics (they are also up to date) * Bump Seshat, Ra, Osiris, Prometheus.erl * switch from proplists to maps
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
use
prometheus-supportbranch of seshat and someexport-ra-countersbranch of Ra to export Ra counters from RabbitMQ's Prometheus endpoint. For testing purposes, these metrics are available from/metrics/raftso we can compare them with the old ra_metrics returned from/metrics/per-object.TODO:
prometheus.return_per_object_metrics = true