summaryrefslogtreecommitdiff
path: root/deps
diff options
context:
space:
mode:
authorMichael Klishin <michael@clojurewerkz.org>2019-11-15 20:25:52 +0300
committerLuke Bakken <lbakken@pivotal.io>2019-11-15 10:01:58 -0800
commit7acfd3e81ca0e3ad97b6767dfe8c8319ad51c195 (patch)
treedb50feebbea114de788b6219c3a170ed565881f3 /deps
parentec738bd40df6cb7c594037183fca9712617f73b3 (diff)
downloadrabbitmq-server-git-7acfd3e81ca0e3ad97b6767dfe8c8319ad51c195.tar.gz
Be extra defensive when inferring how many file descriptors are used
While at it, log exceptions every time and as errors. Closes #86.
Diffstat (limited to 'deps')
-rw-r--r--deps/rabbitmq_management_agent/src/rabbit_mgmt_external_stats.erl23
1 files changed, 13 insertions, 10 deletions
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].