From d9cb0283f32ac75220e016c8567eb70bfcf80f27 Mon Sep 17 00:00:00 2001 From: JimMoen Date: Fri, 29 Oct 2021 13:48:27 +0800 Subject: [PATCH] fix(alarm): duration unit in dashboard, microsecond => millisecond --- apps/emqx/src/emqx_alarm.erl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/emqx/src/emqx_alarm.erl b/apps/emqx/src/emqx_alarm.erl index 403308a68..d1c4dd748 100644 --- a/apps/emqx/src/emqx_alarm.erl +++ b/apps/emqx/src/emqx_alarm.erl @@ -130,6 +130,8 @@ get_alarms(deactivated) -> format(#activated_alarm{name = Name, message = Message, activate_at = At, details = Details}) -> Now = erlang:system_time(microsecond), + %% mnesia db stored microsecond for high frequency alarm + %% format for dashboard using millisecond #{ node => node(), name => Name, @@ -144,13 +146,14 @@ format(#deactivated_alarm{name = Name, message = Message, activate_at = At, deta node => node(), name => Name, message => Message, - duration => DAt - At, + duration => (DAt - At) div 1000, %% to millisecond activate_at => to_rfc3339(At), deactivate_at => to_rfc3339(DAt), details => Details }. to_rfc3339(Timestamp) -> + %% rfc3339 accuracy to millisecond list_to_binary(calendar:system_time_to_rfc3339(Timestamp div 1000, [{unit, millisecond}])). %%--------------------------------------------------------------------