summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiana Corbacho <diana@rabbitmq.com>2018-09-17 11:11:38 +0100
committerDiana Corbacho <diana@rabbitmq.com>2018-09-17 11:12:30 +0100
commit9c117e6dd9208ab730d46727dbb06d6ee5195f66 (patch)
tree8ddad73731fd40bc4e8ffb37d24bd804d9e47f1b
parentbce469bc2635debeb4f3e73535c893d1b1d2bd0b (diff)
downloadrabbitmq-server-git-9c117e6dd9208ab730d46727dbb06d6ee5195f66.tar.gz
Add get empty stats as a new counter
Basic.get requests that return ok_empty used to be unaccounted for [#160280626]
-rw-r--r--deps/rabbitmq_management/priv/www/js/charts.js1
-rw-r--r--deps/rabbitmq_management/priv/www/js/global.js2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_stats.erl29
3 files changed, 21 insertions, 11 deletions
diff --git a/deps/rabbitmq_management/priv/www/js/charts.js b/deps/rabbitmq_management/priv/www/js/charts.js
index e8e4a9af87..1417d0e3cb 100644
--- a/deps/rabbitmq_management/priv/www/js/charts.js
+++ b/deps/rabbitmq_management/priv/www/js/charts.js
@@ -13,6 +13,7 @@ function message_rates(id, stats) {
['Redelivered', 'redeliver'],
['Get (manual ack)', 'get'],
['Get (auto ack)', 'get_no_ack'],
+ ['Get (empty)', 'get_empty'],
['Return', 'return_unroutable'],
['Disk read', 'disk_reads'],
['Disk write', 'disk_writes']];
diff --git a/deps/rabbitmq_management/priv/www/js/global.js b/deps/rabbitmq_management/priv/www/js/global.js
index 6bf07fbe16..acbaea3aea 100644
--- a/deps/rabbitmq_management/priv/www/js/global.js
+++ b/deps/rabbitmq_management/priv/www/js/global.js
@@ -372,6 +372,8 @@ var HELP = {
<dd>Rate at which messages requiring acknowledgement are being delivered in response to basic.get.</dd>\
<dt>Get (auto ack)</dt>\
<dd>Rate at which messages not requiring acknowledgement are being delivered in response to basic.get.</dd>\
+ <dt>Get (empty)</dt>\
+ <dd>Rate at which empty queues are hit in response to basic.get.</dd>\
<dt>Return</dt>\
<dd>Rate at which basic.return is sent to publishers for unroutable messages published with the \'mandatory\' flag set.</dd>\
<dt>Disk read</dt>\
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_stats.erl b/deps/rabbitmq_management/src/rabbit_mgmt_stats.erl
index 967d2fec8e..b1ea02f779 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_stats.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_stats.erl
@@ -115,14 +115,14 @@ append_full_sample(TS, {V1, V2, V3}, {S1, S2, S3}, {T1, T2, T3}) ->
{V1 + T1, V2 + T2, V3 + T3}};
%% channel_queue_stats_deliver_stats, queue_stats_deliver_stats,
%% vhost_stats_deliver_stats, channel_stats_deliver_stats
-append_full_sample(TS, {V1, V2, V3, V4, V5, V6, V7},
- {S1, S2, S3, S4, S5, S6, S7},
- {T1, T2, T3, T4, T5, T6, T7}) ->
+append_full_sample(TS, {V1, V2, V3, V4, V5, V6, V7, V8},
+ {S1, S2, S3, S4, S5, S6, S7, S8},
+ {T1, T2, T3, T4, T5, T6, T7, T8}) ->
{{append_sample(V1, TS, S1), append_sample(V2, TS, S2),
append_sample(V3, TS, S3), append_sample(V4, TS, S4),
append_sample(V5, TS, S5), append_sample(V6, TS, S6),
- append_sample(V7, TS, S7)},
- {V1 + T1, V2 + T2, V3 + T3, V4 + T4, V5 + T5, V6 + T6, V7 + T7}};
+ append_sample(V7, TS, S7), append_sample(V8, TS, S8)},
+ {V1 + T1, V2 + T2, V3 + T3, V4 + T4, V5 + T5, V6 + T6, V7 + T7, V8 + T8}};
%% channel_process_stats, queue_stats_publish, queue_exchange_stats_publish,
%% exchange_stats_publish_out, exchange_stats_publish_in, queue_process_stats
append_full_sample(TS, {V1}, {S1}, {T1}) ->
@@ -200,8 +200,8 @@ format_rate(Type, {TP, TC, TRe}, {RP, RC, RRe})
{return_unroutable, TRe},
{return_unroutable_details, [{rate, RRe}]}
];
-format_rate(Type, {TG, TGN, TD, TDN, TR, TA, TDG},
- {RG, RGN, RD, RDN, RR, RA, RDG})
+format_rate(Type, {TG, TGN, TD, TDN, TR, TA, TDG, TGE},
+ {RG, RGN, RD, RDN, RR, RA, RDG, RGE})
when Type =:= channel_queue_stats_deliver_stats;
Type =:= channel_stats_deliver_stats;
Type =:= vhost_stats_deliver_stats;
@@ -220,7 +220,9 @@ format_rate(Type, {TG, TGN, TD, TDN, TR, TA, TDG},
{ack, TA},
{ack_details, [{rate, RA}]},
{deliver_get, TDG},
- {deliver_get_details, [{rate, RDG}]}
+ {deliver_get_details, [{rate, RDG}]},
+ {get_empty, TGE},
+ {get_empty_details, [{rate, RGE}]}
];
format_rate(Type, {TR}, {RR}) when Type =:= channel_process_stats;
Type =:= queue_process_stats ->
@@ -386,8 +388,10 @@ format_rate(Type, {TP, TC, TRe}, {RP, RC, RRe},
{return_unroutable_details, [{rate, RRe},
{samples, SRe}] ++ average(SRe, STRe, Length)}
];
-format_rate(Type, {TG, TGN, TD, TDN, TR, TA, TDG}, {RG, RGN, RD, RDN, RR, RA, RDG},
- {SG, SGN, SD, SDN, SR, SA, SDG}, {STG, STGN, STD, STDN, STR, STA, STDG},
+format_rate(Type, {TG, TGN, TD, TDN, TR, TA, TDG, TGE},
+ {RG, RGN, RD, RDN, RR, RA, RDG, RGE},
+ {SG, SGN, SD, SDN, SR, SA, SDG, SGE},
+ {STG, STGN, STD, STDN, STR, STA, STDG, STGE},
Length)
when Type =:= channel_queue_stats_deliver_stats;
Type =:= channel_stats_deliver_stats;
@@ -414,7 +418,10 @@ format_rate(Type, {TG, TGN, TD, TDN, TR, TA, TDG}, {RG, RGN, RD, RDN, RR, RA, RD
{samples, SA}] ++ average(SA, STA, Length)},
{deliver_get, TDG},
{deliver_get_details, [{rate, RDG},
- {samples, SDG}] ++ average(SDG, STDG, Length)}
+ {samples, SDG}] ++ average(SDG, STDG, Length)},
+ {get_empty, TGE},
+ {get_empty_details, [{rate, RGE},
+ {samples, SGE}] ++ average(SGE, STGE, Length)}
];
format_rate(Type, {TR}, {RR}, {SR}, {STR}, Length)
when Type =:= channel_process_stats;