diff --git a/src/emqttd_client.erl b/src/emqttd_client.erl index 98db870e7..dedfcf1df 100644 --- a/src/emqttd_client.erl +++ b/src/emqttd_client.erl @@ -382,6 +382,6 @@ stop(Reason, State) -> {stop, Reason, State}. gc(State = #client_state{connection = Conn}) -> - Cb = fun() -> Conn:gc() end, + Cb = fun() -> Conn:gc(), emit_stats(State) end, emqttd_gc:maybe_force_gc(#client_state.force_gc_count, State, Cb). diff --git a/src/emqttd_ws_client.erl b/src/emqttd_ws_client.erl index d9795be37..2433b2ea8 100644 --- a/src/emqttd_ws_client.erl +++ b/src/emqttd_ws_client.erl @@ -300,5 +300,6 @@ stop(Reason, State) -> {stop, Reason, State}. gc(State) -> - emqttd_gc:maybe_force_gc(#wsclient_state.force_gc_count, State). + Cb = fun() -> emit_stats(State) end, + emqttd_gc:maybe_force_gc(#wsclient_state.force_gc_count, State, Cb).