Add metrics for session's lifecircle
- session.created - session.resumed - session.takeovered - session.discarded - session.terminated
This commit is contained in:
parent
12c6d5fe2c
commit
46ca3f2f82
|
@ -229,6 +229,7 @@ open_session(false, ClientInfo = #{clientid := ClientId}, ConnInfo) ->
|
|||
|
||||
create_session(ClientInfo, ConnInfo) ->
|
||||
Session = emqx_session:init(ClientInfo, ConnInfo),
|
||||
ok = emqx_metrics:inc('session.created'),
|
||||
ok = emqx_hooks:run('session.created', [ClientInfo, emqx_session:info(Session)]),
|
||||
Session.
|
||||
|
||||
|
|
|
@ -610,6 +610,7 @@ resume(ClientInfo = #{clientid := ClientId}, Session = #session{subscriptions =
|
|||
lists:foreach(fun({TopicFilter, SubOpts}) ->
|
||||
ok = emqx_broker:subscribe(TopicFilter, ClientId, SubOpts)
|
||||
end, maps:to_list(Subs)),
|
||||
ok = emqx_metrics:inc('session.resumed'),
|
||||
emqx_hooks:run('session.resumed', [ClientInfo, info(Session)]).
|
||||
|
||||
-spec(replay(session()) -> {ok, replies(), session()}).
|
||||
|
@ -630,11 +631,15 @@ replay(Inflight) ->
|
|||
|
||||
-spec(terminate(emqx_types:clientinfo(), Reason :: term(), session()) -> ok).
|
||||
terminate(ClientInfo, discarded, Session) ->
|
||||
emqx_hooks:run('session.discarded', [ClientInfo, info(Session)]);
|
||||
run_hook('session.discarded', [ClientInfo, info(Session)]);
|
||||
terminate(ClientInfo, takeovered, Session) ->
|
||||
emqx_hooks:run('session.takeovered', [ClientInfo, info(Session)]);
|
||||
run_hook('session.takeovered', [ClientInfo, info(Session)]);
|
||||
terminate(ClientInfo, Reason, Session) ->
|
||||
emqx_hooks:run('session.terminated', [ClientInfo, Reason, info(Session)]).
|
||||
run_hook('session.terminated', [ClientInfo, Reason, info(Session)]).
|
||||
|
||||
-compile({inline, [run_hook/2]}).
|
||||
run_hook(Name, Args) ->
|
||||
ok = emqx_metrics:inc(Name), emqx_hooks:run(Name, Args).
|
||||
|
||||
%%--------------------------------------------------------------------
|
||||
%% Inc message/delivery expired counter
|
||||
|
|
Loading…
Reference in New Issue