diff --git a/src/emqx_channel.erl b/src/emqx_channel.erl index cad4111d4..e741dd7cb 100644 --- a/src/emqx_channel.erl +++ b/src/emqx_channel.erl @@ -106,9 +106,9 @@ will_timer => will_message }). --define(ATTR_KEYS, [conninfo, client, session]). +-define(ATTR_KEYS, [conninfo, clientinfo, session]). --define(INFO_KEYS, ?ATTR_KEYS ++ [conninfo, client, session, keepalive, +-define(INFO_KEYS, ?ATTR_KEYS ++ [conninfo, clientinfo, session, keepalive, will_msg, topic_aliases, alias_maximum, gc_state]). %%-------------------------------------------------------------------- @@ -125,7 +125,7 @@ info(Keys, Channel) when is_list(Keys) -> [{Key, info(Key, Channel)} || Key <- Keys]; info(conninfo, #channel{conninfo = ConnInfo}) -> ConnInfo; -info(client, #channel{clientinfo = ClientInfo}) -> +info(clientinfo, #channel{clientinfo = ClientInfo}) -> ClientInfo; info(session, #channel{session = Session}) -> maybe_apply(fun emqx_session:info/1, Session); diff --git a/src/emqx_connection.erl b/src/emqx_connection.erl index a0408dea6..fbe0a8118 100644 --- a/src/emqx_connection.erl +++ b/src/emqx_connection.erl @@ -139,8 +139,7 @@ stats(#state{transport = Transport, ConnStats = emqx_pd:get_counters(?CONN_STATS), ChanStats = emqx_channel:stats(ChanState), ProcStats = emqx_misc:proc_stats(), - [{sock_stats, SockStats}, {conn_stats, ConnStats}, - {chan_stats, ChanStats}, {proc_stats, ProcStats}]. + lists:append([SockStats, ConnStats, ChanStats, ProcStats]). %% kick|discard|takeover -spec(call(pid(), Req :: term()) -> Reply :: term()). diff --git a/src/emqx_misc.erl b/src/emqx_misc.erl index b69b06c55..359bb045f 100644 --- a/src/emqx_misc.erl +++ b/src/emqx_misc.erl @@ -128,7 +128,8 @@ proc_stats(Pid) -> reductions, memory]) of undefined -> []; - ProcStats -> ProcStats + [{message_queue_len, Len}|ProcStats] -> + [{mailbox_len, Len}|ProcStats] end. %% @doc Drain delivers from the channel's mailbox. diff --git a/src/emqx_ws_connection.erl b/src/emqx_ws_connection.erl index 267dbad60..fe6566364 100644 --- a/src/emqx_ws_connection.erl +++ b/src/emqx_ws_connection.erl @@ -92,10 +92,11 @@ info(chan_state, #state{chan_state = ChanState}) -> stats(WsPid) when is_pid(WsPid) -> call(WsPid, stats); stats(#state{chan_state = ChanState}) -> - [{sock_stats, emqx_pd:get_counters(?SOCK_STATS)}, - {conn_stats, emqx_pd:get_counters(?CONN_STATS)}, - {chan_stats, emqx_channel:stats(ChanState)}, - {proc_stats, emqx_misc:proc_stats()}]. + SockStats = emqx_pd:get_counters(?SOCK_STATS), + ConnStats = emqx_pd:get_counters(?CONN_STATS), + ChanStats = emqx_channel:stats(ChanState), + ProcStats = emqx_misc:proc_stats(), + lists:append([SockStats, ConnStats, ChanStats, ProcStats]). %% kick|discard|takeover -spec(call(pid(), Req :: term()) -> Reply :: term()). diff --git a/test/emqx_channel_SUITE.erl b/test/emqx_channel_SUITE.erl index d6bf61b58..6623db872 100644 --- a/test/emqx_channel_SUITE.erl +++ b/test/emqx_channel_SUITE.erl @@ -74,7 +74,7 @@ t_handle_connect(_) -> {ok, ?CONNACK_PACKET(?RC_SUCCESS), Channel1} = handle_in(?CONNECT_PACKET(ConnPkt), Channel), #{clientid := ClientId, username := Username} - = emqx_channel:info(client, Channel1), + = emqx_channel:info(clientinfo, Channel1), ?assertEqual(<<"clientid">>, ClientId), ?assertEqual(<<"username">>, Username) end). diff --git a/test/emqx_client_SUITE.erl b/test/emqx_client_SUITE.erl index e83aef057..0867448f3 100644 --- a/test/emqx_client_SUITE.erl +++ b/test/emqx_client_SUITE.erl @@ -98,7 +98,7 @@ t_cm(_) -> {ok, C} = emqtt:start_link([{clientid, ClientId}]), {ok, _} = emqtt:connect(C), ct:sleep(50), - #{client := #{clientid := ClientId}} = emqx_cm:get_chan_attrs(ClientId), + #{clientinfo := #{clientid := ClientId}} = emqx_cm:get_chan_attrs(ClientId), emqtt:subscribe(C, <<"mytopic">>, 0), ct:sleep(1200), Stats = emqx_cm:get_chan_stats(ClientId), diff --git a/test/emqx_misc_SUITE.erl b/test/emqx_misc_SUITE.erl index 6f77ec86c..677b25c17 100644 --- a/test/emqx_misc_SUITE.erl +++ b/test/emqx_misc_SUITE.erl @@ -87,7 +87,7 @@ t_proc_stats(_) -> Pid2 = spawn(fun() -> timer:sleep(100) end), Pid2 ! msg, timer:sleep(10), - ?assertMatch([{message_queue_len, 1}|_], emqx_misc:proc_stats(Pid2)). + ?assertMatch([{mailbox_len, 1}|_], emqx_misc:proc_stats(Pid2)). t_drain_deliver(_) -> self() ! {deliver, t1, m1}, diff --git a/test/emqx_modules_SUITE.erl b/test/emqx_modules_SUITE.erl index 401cc2895..437a21aec 100644 --- a/test/emqx_modules_SUITE.erl +++ b/test/emqx_modules_SUITE.erl @@ -91,7 +91,7 @@ recv_and_check_presence(ClientId, Presence) -> <<"disconnected">> -> ?assertMatch(#{clientid := <<"clientid">>, username := <<"username">>, - reason := <<"closed">>}, emqx_json:decode(Payload, [{labels, atom}, return_maps])) + reason := <<"normal">>}, emqx_json:decode(Payload, [{labels, atom}, return_maps])) end. %% Test case for emqx_mod_subscription diff --git a/test/emqx_session_SUITE.erl b/test/emqx_session_SUITE.erl index 93a4e1873..e58c4b859 100644 --- a/test/emqx_session_SUITE.erl +++ b/test/emqx_session_SUITE.erl @@ -170,17 +170,17 @@ deliver_args() -> info_args() -> oneof([subscriptions, - max_subscriptions, + subscriptions_max, upgrade_qos, inflight, - max_inflight, + inflight_max, retry_interval, mqueue_len, - max_mqueue, + mqueue_max, mqueue_dropped, next_pkt_id, awaiting_rel, - max_awaiting_rel, + awaiting_rel_max, await_rel_timeout, created_at ]).