diff --git a/deps/rabbitmq_shovel_management/priv/www/js/shovel.js b/deps/rabbitmq_shovel_management/priv/www/js/shovel.js
index 1a89aaa4777f..1188ba056c06 100644
--- a/deps/rabbitmq_shovel_management/priv/www/js/shovel.js
+++ b/deps/rabbitmq_shovel_management/priv/www/js/shovel.js
@@ -148,6 +148,19 @@ HELP['shovel-amqp10-auto-delete'] =
After num messages\
The shovel will delete itself after the given number of messages have been transferred.\
';
+
+HELP['shovel-remaining-counter'] =
+ 'When not unlimited: number of messages left to transfer before this shovel will be deleted.';
+
+HELP['shovel-remaining-unacked-counter'] =
+ 'When ack mode is on-confirm and Remaining is not unlimited: number of messages not yet acknowledged at the source.';
+
+HELP['shovel-pending-counter'] =
+ 'When destination connection is blocked or doesn\'t have enough credits: number of messages that were cached.';
+
+HELP['shovel-forwarded-counter'] =
+ 'Number of forwarded messages.';
+
function remove_params_with(sammy, prefix) {
for (var i in sammy.params) {
if(i.startsWith(prefix)) {
diff --git a/deps/rabbitmq_shovel_management/priv/www/js/tmpl/shovels.ejs b/deps/rabbitmq_shovel_management/priv/www/js/tmpl/shovels.ejs
index d044a9dc03cf..92215322e1d4 100644
--- a/deps/rabbitmq_shovel_management/priv/www/js/tmpl/shovels.ejs
+++ b/deps/rabbitmq_shovel_management/priv/www/js/tmpl/shovels.ejs
@@ -17,6 +17,10 @@
Virtual Host |
<% } %>
State |
+ Remaining |
+ Remaining Unacked |
+ Pending |
+ Forwarded |
Source |
Destination |
Last changed |
@@ -46,7 +50,11 @@
<%= shovel.timestamp %> |
<% } else { %>
- <%= fmt_object_state(shovel) %> |
+ <%= fmt_object_state(shovel) %> |
+ <%= fmt_string(shovel.remaining) %> |
+ <%= fmt_string(shovel.remaining_unacked) %> |
+ <%= fmt_string(shovel.pending) %> |
+ <%= fmt_string(shovel.forwarded) %> |
<%= fmt_string(shovel.src_protocol) %> |
<%= shovel.src_uri == undefined ? fmt_string(shovel.src_uri) : fmt_string(fmt_uri_with_credentials(shovel.src_uri)) %> |
<%= fmt_shovel_endpoint('src_', shovel) %> |
diff --git a/deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt_util.erl b/deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt_util.erl
index bd3bd2c718c5..b4177861e160 100644
--- a/deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt_util.erl
+++ b/deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt_util.erl
@@ -42,9 +42,10 @@ status(Node) ->
[format(Node, I) || I <- Status]
end.
-format(Node, {Name, Type, Info, _Metrics, TS}) ->
+format(Node, {Name, Type, Info, Metrics, TS}) ->
[{node, Node}, {timestamp, format_ts(TS)}] ++
format_name(Type, Name) ++
+ format_metrics(Metrics) ++
format_info(Info);
format(Node, {Name, Type, Info, TS}) ->
[{node, Node}, {timestamp, format_ts(TS)}] ++
@@ -57,6 +58,11 @@ format_name(dynamic, {VHost, Name}) -> [{name, Name},
{vhost, VHost},
{type, dynamic}].
+format_metrics(undefined) ->
+ [];
+format_metrics(Metrics) when is_map(Metrics) ->
+ maps:to_list(Metrics).
+
format_info(starting) ->
[{state, starting}];