diff --git a/src/mtp_handler.erl b/src/mtp_handler.erl index 042d636..49927d7 100644 --- a/src/mtp_handler.erl +++ b/src/mtp_handler.erl @@ -168,8 +168,12 @@ handle_info(Other, S) -> lager:warning("Unexpected handle_info ~p", [Other]), {noreply, S}. -terminate(_Reason, #state{}) -> +terminate(_Reason, #state{started_at = Started}) -> mtp_metric:count_inc([?APP, in_connection_closed, total], 1, #{}), + Lifetime = erlang:system_time(millisecond) - Started, + metric:histogram_observe( + [?APP, session_lifetime, seconds], + erlang:convert_time_unit(Lifetime, millisecond, native), #{}), lager:debug("terminate ~p", [_Reason]), ok.