summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDiana Corbacho <diana@rabbitmq.com>2017-10-25 08:36:09 +0100
committerDiana Corbacho <diana@rabbitmq.com>2017-10-25 08:36:09 +0100
commitaccd6aaf6bbbac378a8acafdfeeef0af539a9f41 (patch)
treedb666946a9bcf566b171cd9f9211f46b85e610a9 /src
parentb55f79da5fd50ead74308d8ad3bcf7121dac38c4 (diff)
downloadrabbitmq-server-git-accd6aaf6bbbac378a8acafdfeeef0af539a9f41.tar.gz
Comment optimisation in format channel stats
[#152240490]
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_channel.erl4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index dae0612e03..c8b497ec9c 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -2008,6 +2008,10 @@ emit_stats(State) -> emit_stats(State, []).
emit_stats(State, Extra) ->
[{reductions, Red} | Coarse0] = infos(?STATISTICS_KEYS, State),
+ %% First metric must be `idle_since` (if available), as expected by
+ %% `rabbit_mgmt_format:format_channel_stats`. This is a performance
+ %% optimisation that avoids traversing the whole list when only
+ %% one element has to be formatted.
rabbit_core_metrics:channel_stats(self(), Extra ++ Coarse0),
rabbit_core_metrics:channel_stats(reductions, self(), Red).