chore(gw): fix the time format
This commit is contained in:
parent
e239fb07cd
commit
ef372e415d
|
@ -45,7 +45,8 @@
|
||||||
child_pids :: [pid()],
|
child_pids :: [pid()],
|
||||||
gw_state :: emqx_gateway_impl:state() | undefined,
|
gw_state :: emqx_gateway_impl:state() | undefined,
|
||||||
created_at :: integer(),
|
created_at :: integer(),
|
||||||
started_at :: integer() | undefined
|
started_at :: integer() | undefined,
|
||||||
|
stopped_at :: integer() | undefined
|
||||||
}).
|
}).
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
@ -126,7 +127,8 @@ do_deinit_context(Ctx) ->
|
||||||
handle_call(info, _From, State = #state{gw = Gateway}) ->
|
handle_call(info, _From, State = #state{gw = Gateway}) ->
|
||||||
GwInfo = Gateway#{status => State#state.status,
|
GwInfo = Gateway#{status => State#state.status,
|
||||||
created_at => State#state.created_at,
|
created_at => State#state.created_at,
|
||||||
started_at => State#state.started_at
|
started_at => State#state.started_at,
|
||||||
|
stopped_at => State#state.stopped_at
|
||||||
},
|
},
|
||||||
{reply, GwInfo, State};
|
{reply, GwInfo, State};
|
||||||
|
|
||||||
|
@ -259,8 +261,10 @@ cb_gateway_unload(State = #state{gw = Gateway = #{name := GwName},
|
||||||
#{cbkmod := CbMod} = emqx_gateway_registry:lookup(GwName),
|
#{cbkmod := CbMod} = emqx_gateway_registry:lookup(GwName),
|
||||||
CbMod:on_gateway_unload(Gateway, GwState),
|
CbMod:on_gateway_unload(Gateway, GwState),
|
||||||
{ok, State#state{child_pids = [],
|
{ok, State#state{child_pids = [],
|
||||||
|
status = stopped,
|
||||||
gw_state = undefined,
|
gw_state = undefined,
|
||||||
status = stopped}}
|
started_at = undefined,
|
||||||
|
stopped_at = erlang:system_time(millisecond)}}
|
||||||
catch
|
catch
|
||||||
Class : Reason : Stk ->
|
Class : Reason : Stk ->
|
||||||
logger:error("Failed to unload gateway (~0p, ~0p) crashed: "
|
logger:error("Failed to unload gateway (~0p, ~0p) crashed: "
|
||||||
|
@ -282,6 +286,7 @@ cb_gateway_load(State = #state{gw = Gateway = #{name := GwName},
|
||||||
status = running,
|
status = running,
|
||||||
child_pids = ChildPids,
|
child_pids = ChildPids,
|
||||||
gw_state = GwState,
|
gw_state = GwState,
|
||||||
|
stopped_at = undefined,
|
||||||
started_at = erlang:system_time(millisecond)
|
started_at = erlang:system_time(millisecond)
|
||||||
}}
|
}}
|
||||||
end
|
end
|
||||||
|
|
|
@ -40,8 +40,14 @@ gateways(Status) ->
|
||||||
case emqx_gateway:lookup(GwName) of
|
case emqx_gateway:lookup(GwName) of
|
||||||
undefined -> #{name => GwName, status => unloaded};
|
undefined -> #{name => GwName, status => unloaded};
|
||||||
GwInfo = #{rawconf := RawConf} ->
|
GwInfo = #{rawconf := RawConf} ->
|
||||||
GwInfo1 = maps:with(
|
GwInfo0 = unix_ts_to_rfc3339(
|
||||||
[name, started_at, craeted_at, status], GwInfo),
|
[created_at, started_at, stopped_at],
|
||||||
|
GwInfo),
|
||||||
|
GwInfo1 = maps:with([name,
|
||||||
|
status,
|
||||||
|
created_at,
|
||||||
|
started_at,
|
||||||
|
stopped_at], GwInfo0),
|
||||||
GwInfo1#{listeners => get_listeners_status(GwName, RawConf)}
|
GwInfo1#{listeners => get_listeners_status(GwName, RawConf)}
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -70,3 +76,14 @@ get_listeners_status(GwName, RawConf) ->
|
||||||
%% @private
|
%% @private
|
||||||
listener_name(GwName, Type, LisName) ->
|
listener_name(GwName, Type, LisName) ->
|
||||||
list_to_atom(lists:concat([GwName, ":", Type, ":", LisName])).
|
list_to_atom(lists:concat([GwName, ":", Type, ":", LisName])).
|
||||||
|
|
||||||
|
%% @private
|
||||||
|
unix_ts_to_rfc3339(Keys, Map) when is_list(Keys) ->
|
||||||
|
lists:foldl(fun(K, Acc) -> unix_ts_to_rfc3339(K, Acc) end, Map, Keys);
|
||||||
|
unix_ts_to_rfc3339(Key, Map) ->
|
||||||
|
case maps:get(Key, Map, undefined) of
|
||||||
|
undefined -> Map;
|
||||||
|
Ts ->
|
||||||
|
Map#{Key =>
|
||||||
|
emqx_rule_funcs:unix_ts_to_rfc3339(Ts, <<"millisecond">>)}
|
||||||
|
end.
|
||||||
|
|
Loading…
Reference in New Issue