You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Global counters per protocol + protocol AND queue_type
This way we can show how many messages were received via a
certain protocol (stream is the second real protocol besides the default
amqp091 one), as well as by queue type, which is something that many
asked for a really long time.
The most important aspect is that we can also see them by protocol AND
queue_type, which becomes very important for Streams, which have
different rules from regular queues (e.g. for example, consuming
messages is non-destructive, and deep queue backlogs - think billions of
messages - are normal). Alerting and consumer scaling due to deep
backlogs will now work correctly, as we can distinguish between regular
queues & streams.
This has gone through a few cycles, with @mkuratczyk & @dcorbacho
covering most of the ground. @dcorbacho had most of this in
#3045, but the main
branch went through a few changes in the meantime. Rather than resolving
all the conflicts, and then making the necessary changes, we (@gerhard +
@kjnilsson) took all learnings and started re-applying a lot of the
existing code from #3045. We are confident in this approach and would
like to see it through.
We expose these global counters in rabbitmq_prometheus via a new
collector. We don't want to keep modifying the existing collector, which
grew really complex in parts, especially since we introduced
aggregation, but start with a new namespace, rabbitmq_global_, and
continue building on top of it. The idea is to build in parallel, and
slowly transition to the new metrics, because semantically the changes
are too big since streams, and we have been discussing protocol-specific
metrics with @kjnilsson, which makes me think that this approach is
least disruptive and... simple.
While at this, we removed redundant empty return value handling in the
channel. The function called no longer returns this.
Also removed all DONE / TODO & other comments - we'll handle them when
the time comes, no need to leave TODO reminders.
Pairs @kjnilsson@dcorbacho
(this is multiple commits squashed into one)
Next steps:
- Create new PR and ask @mkuratcyzk and @ansd for review - fresh 👀 👀
- This new PR closes#3045
- Back-port to 3.9.x as is (to my knowledge, this is the only feature
missing before we can code freeze and cut an RC)
- Back-port parts of this to 3.8.x so that we can finally address
#2783
- Fix & publish new version of the RabbitMQ-Overview Grafana dashboard
- Fix & finally publish the new RabbitMQ-Streams Grafana dashboard
Signed-off-by: Gerhard Lazu <[email protected]>
0 commit comments