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
Is your feature request related to a problem? Please describe.
All consumer-side metrics are currently aggregated to broker granularity, so there is no way to tell which queue of a topic is lagging. When a single queue is stuck (a slow message, a stuck consumer instance, or an uneven rebalance), rocketmq_group_diff only shows that the group as a whole is behind — the skew between queues is invisible in Prometheus, and one has to fall back to the console (Topic -> Consumer detail) to see per-queue brokerOffset / consumerOffset / diff.
Interestingly, the label list for queue granularity already exists in the code but is never used:
The per-queue data is already fetched and iterated in MetricsCollectTask#collectConsumerOffset: consumeStats.getOffsetTable() is a Map<MessageQueue, OffsetWrapper>, and the per-queue lagTime is already computed one queue at a time. Both loops then fold the values into HashMap<String /* brokerName */, Long> and the queueId is dropped.
So exposing queue granularity needs no new admin call at all — queryMsgByOffset is already invoked once per queue, and the proposal keeps that unchanged. Suggested metrics:
Queue-level series multiply the existing consumer series by the number of queues per broker, which is not acceptable to enable globally on a large cluster. The proposal therefore keeps it off by default and gated by an explicit topic whitelist:
Existing broker-level metrics are untouched, so current dashboards and alerts keep working.
Additional context
I have a working implementation (pure addition, no existing line modified, with unit tests for the whitelist parsing) and will open a PR referencing this issue.
Activity
RockteMQ-AI commentedon Sep 19, 2026
Issue Evaluation
Category:
bug| Status: Under ReviewThank you for reporting this issue. It has been flagged for code-level verification against the current codebase.
A code engine analysis will be performed to verify the root cause. If confirmed, an automated fix proposal may be generated.
Automated evaluation by RockteMQ-AI
xuanskyer commentedon Sep 20, 2026
#191