From 777ca72ad56e9fbec2b8f440018e43461fa17957 Mon Sep 17 00:00:00 2001 From: Stefan Strigler Date: Wed, 15 Feb 2023 15:54:05 +0100 Subject: [PATCH] fix: don't crash on broker_info() --- apps/emqx_management/src/emqx_mgmt.erl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/emqx_management/src/emqx_mgmt.erl b/apps/emqx_management/src/emqx_mgmt.erl index 620c1e3f9..7a48db0f4 100644 --- a/apps/emqx_management/src/emqx_mgmt.erl +++ b/apps/emqx_management/src/emqx_mgmt.erl @@ -190,9 +190,15 @@ lookup_broker(Node) -> Broker. broker_info() -> - Info = maps:from_list([{K, iolist_to_binary(V)} || {K, V} <- emqx_sys:info()]), + Info = lists:foldl(fun convert_broker_info/2, #{}, emqx_sys:info()), Info#{node => node(), otp_release => otp_rel(), node_status => 'Running'}. +convert_broker_info({uptime, Uptime}, M) -> + M#{uptime => emqx_datetime:human_readable_duration_string(Uptime)}; +convert_broker_info({K, V}, M) -> + M#{K => iolist_to_binary(V)}. + + broker_info(Nodes) -> emqx_rpc:unwrap_erpc(emqx_management_proto_v3:broker_info(Nodes)).