diff options
| -rw-r--r-- | src/rabbit_quorum_queue.erl | 10 | ||||
| -rw-r--r-- | test/quorum_queue_SUITE.erl | 8 |
2 files changed, 11 insertions, 7 deletions
diff --git a/src/rabbit_quorum_queue.erl b/src/rabbit_quorum_queue.erl index 77f076c757..867af6cb75 100644 --- a/src/rabbit_quorum_queue.erl +++ b/src/rabbit_quorum_queue.erl @@ -252,14 +252,15 @@ handle_tick(QName, 0 -> 0; _ -> rabbit_fifo:usage(Name) end, - Infos = [{consumer_utilisation, Util}, + Infos = [{consumers, C}, + {consumer_utilisation, Util}, {message_bytes_ready, MsgBytesReady}, {message_bytes_unacknowledged, MsgBytesUnack}, {message_bytes, MsgBytesReady + MsgBytesUnack}, {message_bytes_persistent, MsgBytesReady + MsgBytesUnack}, {messages_persistent, M} - | infos(QName)], + | infos(QName, ?STATISTICS_KEYS -- [consumers])], rabbit_core_metrics:queue_stats(QName, Infos), rabbit_event:notify(queue_stats, Infos ++ [{name, QName}, @@ -582,9 +583,12 @@ info(Q) -> -spec infos(rabbit_types:r('queue')) -> rabbit_types:infos(). infos(QName) -> + infos(QName, ?STATISTICS_KEYS). + +infos(QName, Keys) -> case rabbit_amqqueue:lookup(QName) of {ok, Q} -> - info(Q, ?STATISTICS_KEYS); + info(Q, Keys); {error, not_found} -> [] end. diff --git a/test/quorum_queue_SUITE.erl b/test/quorum_queue_SUITE.erl index ed08675f1f..0894c1fb17 100644 --- a/test/quorum_queue_SUITE.erl +++ b/test/quorum_queue_SUITE.erl @@ -2246,7 +2246,7 @@ in_memory(Config) -> dirty_query([Server], RaName, fun rabbit_fifo:query_in_memory_usage/1)). consumer_metrics(Config) -> - [Server | _] = Servers = rabbit_ct_broker_helpers:get_node_configs(Config, nodename), + [Server | _] = rabbit_ct_broker_helpers:get_node_configs(Config, nodename), Ch1 = rabbit_ct_client_helpers:open_channel(Config, Server), QQ = ?config(queue_name, Config), @@ -2259,9 +2259,9 @@ consumer_metrics(Config) -> timer:sleep(5000), QNameRes = rabbit_misc:r(<<"/">>, queue, QQ), [{_, PropList, _}] = rpc:call(Leader, ets, lookup, [queue_metrics, QNameRes]), - ?assertMatch([_], lists:filter(fun({Key, _}) -> - Key == consumers - end, PropList)). + ?assertMatch([{consumers, 1}], lists:filter(fun({Key, _}) -> + Key == consumers + end, PropList)). %%---------------------------------------------------------------------------- |
