parent
82cfbfaaff
commit
da8b424ff2
|
@ -235,7 +235,6 @@ nodes_info_count(PropList) ->
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
lookup_client({clientid, ClientId}, FormatFun) ->
|
lookup_client({clientid, ClientId}, FormatFun) ->
|
||||||
|
|
||||||
lists:append([lookup_client(Node, {clientid, ClientId}, FormatFun)
|
lists:append([lookup_client(Node, {clientid, ClientId}, FormatFun)
|
||||||
|| Node <- mria_mnesia:running_nodes()]);
|
|| Node <- mria_mnesia:running_nodes()]);
|
||||||
|
|
||||||
|
@ -246,7 +245,11 @@ lookup_client({username, Username}, FormatFun) ->
|
||||||
lookup_client(Node, Key, {M, F}) ->
|
lookup_client(Node, Key, {M, F}) ->
|
||||||
case wrap_rpc(emqx_broker_proto_v1:lookup_client(Node, Key)) of
|
case wrap_rpc(emqx_broker_proto_v1:lookup_client(Node, Key)) of
|
||||||
{error, Err} -> {error, Err};
|
{error, Err} -> {error, Err};
|
||||||
L -> lists:map(fun M:F/1, L)
|
L -> lists:map(fun({Chan, Info0, Stats}) ->
|
||||||
|
Info = Info0#{node => Node},
|
||||||
|
M:F({Chan, Info, Stats})
|
||||||
|
end,
|
||||||
|
L)
|
||||||
end.
|
end.
|
||||||
|
|
||||||
kickout_client({ClientID, FormatFun}) ->
|
kickout_client({ClientID, FormatFun}) ->
|
||||||
|
|
|
@ -708,13 +708,17 @@ run_fuzzy_filter(E = {_, #{clientinfo := ClientInfo}, _}, [{Key, like, SubStr} |
|
||||||
%% format funcs
|
%% format funcs
|
||||||
|
|
||||||
format_channel_info({_, ClientInfo, ClientStats}) ->
|
format_channel_info({_, ClientInfo, ClientStats}) ->
|
||||||
|
Node = case ClientInfo of
|
||||||
|
#{node := N} -> N;
|
||||||
|
_ -> node()
|
||||||
|
end,
|
||||||
StatsMap = maps:without([memory, next_pkt_id, total_heap_size],
|
StatsMap = maps:without([memory, next_pkt_id, total_heap_size],
|
||||||
maps:from_list(ClientStats)),
|
maps:from_list(ClientStats)),
|
||||||
ClientInfoMap0 = maps:fold(fun take_maps_from_inner/3, #{}, ClientInfo),
|
ClientInfoMap0 = maps:fold(fun take_maps_from_inner/3, #{}, ClientInfo),
|
||||||
{IpAddress, Port} = peername_dispart(maps:get(peername, ClientInfoMap0)),
|
{IpAddress, Port} = peername_dispart(maps:get(peername, ClientInfoMap0)),
|
||||||
Connected = maps:get(conn_state, ClientInfoMap0) =:= connected,
|
Connected = maps:get(conn_state, ClientInfoMap0) =:= connected,
|
||||||
ClientInfoMap1 = maps:merge(StatsMap, ClientInfoMap0),
|
ClientInfoMap1 = maps:merge(StatsMap, ClientInfoMap0),
|
||||||
ClientInfoMap2 = maps:put(node, node(), ClientInfoMap1),
|
ClientInfoMap2 = maps:put(node, Node, ClientInfoMap1),
|
||||||
ClientInfoMap3 = maps:put(ip_address, IpAddress, ClientInfoMap2),
|
ClientInfoMap3 = maps:put(ip_address, IpAddress, ClientInfoMap2),
|
||||||
ClientInfoMap4 = maps:put(port, Port, ClientInfoMap3),
|
ClientInfoMap4 = maps:put(port, Port, ClientInfoMap3),
|
||||||
ClientInfoMap = maps:put(connected, Connected, ClientInfoMap4),
|
ClientInfoMap = maps:put(connected, Connected, ClientInfoMap4),
|
||||||
|
@ -777,4 +781,3 @@ format_authz_cache({{PubSub, Topic}, {AuthzResult, Timestamp}}) ->
|
||||||
result => AuthzResult,
|
result => AuthzResult,
|
||||||
updated_time => Timestamp
|
updated_time => Timestamp
|
||||||
}.
|
}.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue