From 7acfd3e81ca0e3ad97b6767dfe8c8319ad51c195 Mon Sep 17 00:00:00 2001 From: Michael Klishin Date: Fri, 15 Nov 2019 20:25:52 +0300 Subject: Be extra defensive when inferring how many file descriptors are used While at it, log exceptions every time and as errors. Closes #86. --- .../src/rabbit_mgmt_external_stats.erl | 23 ++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'deps') diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_external_stats.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_external_stats.erl index 94a47d9b1e..f49bf2eeab 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_external_stats.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_external_stats.erl @@ -62,11 +62,18 @@ start_link() -> %%-------------------------------------------------------------------- get_used_fd() -> - case get_used_fd(os:type()) of - Fd when is_number(Fd) -> - Fd; - _Other -> - %% Defaults to 0 if data is not available + try + case get_used_fd(os:type()) of + Fd when is_number(Fd) -> + Fd; + _Other -> + %% Defaults to 0 if data is not available + 0 + end + catch + _:Error -> + log_fd_error("Could not infer the number of file handles used: ~p~n", + [Error]), 0 end. @@ -171,11 +178,7 @@ get_disk_free() -> ?SAFE_CALL(rabbit_disk_monitor:get_disk_free(), disk_free_monitoring_disabled). log_fd_error(Fmt, Args) -> - case get(logged_used_fd_error) of - undefined -> rabbit_log:warning(Fmt, Args), - put(logged_used_fd_error, true); - _ -> ok - end. + rabbit_log:error(Fmt, Args). %%-------------------------------------------------------------------- infos(Items, State) -> [{Item, i(Item, State)} || Item <- Items]. -- cgit v1.2.1