Merge pull request #6495 from JimMoen/fix-dashboard-diagram-time

fix(dashobard): statistical diagram timestamp use UTC time
This commit is contained in:
JimMoen 2021-12-21 09:42:05 +08:00 committed by GitHub
commit 6d2c83af7b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 7 deletions

View File

@ -22,7 +22,7 @@
-export([get_collect/0]). -export([get_collect/0]).
-export([get_local_time/0]). -export([get_universal_epoch/0]).
-boot_mnesia({mnesia, [boot]}). -boot_mnesia({mnesia, [boot]}).
@ -108,7 +108,7 @@ handle_info(collect, State = #{count := Count, collect := Collect, temp_collect
handle_info(clear_expire_data, State = #{expire_interval := ExpireInterval}) -> handle_info(clear_expire_data, State = #{expire_interval := ExpireInterval}) ->
timer(?CLEAR_INTERVAL, clear_expire_data), timer(?CLEAR_INTERVAL, clear_expire_data),
T1 = get_local_time(), T1 = get_universal_epoch(),
Spec = ets:fun2ms(fun({_, T, _C} = Data) when (T1 - T) > ExpireInterval -> Data end), Spec = ets:fun2ms(fun({_, T, _C} = Data) when (T1 - T) > ExpireInterval -> Data end),
Collects = ets:select(?TAB_COLLECT, Spec), Collects = ets:select(?TAB_COLLECT, Spec),
lists:foreach(fun(Collect) -> lists:foreach(fun(Collect) ->
@ -161,7 +161,7 @@ flush({Connection, Route, Subscription}, {Received0, Sent0, Dropped0}) ->
diff(Received, Received0), diff(Received, Received0),
diff(Sent, Sent0), diff(Sent, Sent0),
diff(Dropped, Dropped0)}, diff(Dropped, Dropped0)},
Ts = get_local_time(), Ts = get_universal_epoch(),
{atomic, ok} = mria:transaction(mria:local_content_shard(), {atomic, ok} = mria:transaction(mria:local_content_shard(),
fun mnesia:write/3, fun mnesia:write/3,
[ ?TAB_COLLECT [ ?TAB_COLLECT
@ -179,8 +179,8 @@ timer(Secs, Msg) ->
erlang:send_after(Secs, self(), Msg). erlang:send_after(Secs, self(), Msg).
get_today_remaining_seconds() -> get_today_remaining_seconds() ->
?CLEAR_INTERVAL - (get_local_time() rem ?CLEAR_INTERVAL). ?CLEAR_INTERVAL - (get_universal_epoch() rem ?CLEAR_INTERVAL).
get_local_time() -> get_universal_epoch() ->
(calendar:datetime_to_gregorian_seconds(calendar:local_time()) - (calendar:datetime_to_gregorian_seconds(calendar:universal_time()) -
calendar:datetime_to_gregorian_seconds({{1970,1,1}, {0,0,0}})). calendar:datetime_to_gregorian_seconds({{1970,1,1}, {0,0,0}})).

View File

@ -278,7 +278,7 @@ sampling(Node, Counter) ->
rpc:call(Node, ?MODULE, sampling, [Node, Counter]). rpc:call(Node, ?MODULE, sampling, [Node, Counter]).
select_data() -> select_data() ->
Time = emqx_dashboard_collection:get_local_time() - 7200000, Time = emqx_dashboard_collection:get_universal_epoch() - 7200000,
ets:select(?TAB_COLLECT, [{{mqtt_collect,'$1','$2'}, [{'>', '$1', Time}], ['$_']}]). ets:select(?TAB_COLLECT, [{{mqtt_collect,'$1','$2'}, [{'>', '$1', Time}], ['$_']}]).
format(Collects) -> format(Collects) ->