From 1f842e4a1967ea08666ef82e1b02a3de6f8178fb Mon Sep 17 00:00:00 2001 From: J Phani Mahesh Date: Tue, 27 Mar 2018 21:20:26 +0300 Subject: [PATCH 1/3] change log level: warning -> info on stop publish Message publishes may be prevented by hooks by returning `{stop, Msg}` or variants. However, this causes a log message at warning level. Since a hook can potentially prevent multiple messages rapidly, these warning messages pollute the logs. Similar level of detail is present currently at info level, so demoting this message to info. --- src/emqttd_server.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/emqttd_server.erl b/src/emqttd_server.erl index 38e7be311..8552054c8 100644 --- a/src/emqttd_server.erl +++ b/src/emqttd_server.erl @@ -92,7 +92,7 @@ publish(Msg = #mqtt_message{from = From}) -> {ok, Msg1 = #mqtt_message{topic = Topic}} -> emqttd_pubsub:publish(Topic, Msg1); {stop, Msg1} -> - lager:warning("Stop publishing: ~s", [emqttd_message:format(Msg1)]), + lager:info("Stop publishing: ~s", [emqttd_message:format(Msg1)]), ignore end. From 27fcb73483850af7c5abeef89efd22a317f87283 Mon Sep 17 00:00:00 2001 From: Frank Feng Date: Fri, 20 Apr 2018 14:07:41 +0800 Subject: [PATCH 2/3] fix spec of function setstats/3 --- src/emqttd_stats.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/emqttd_stats.erl b/src/emqttd_stats.erl index 4471a2814..bfd60ea15 100644 --- a/src/emqttd_stats.erl +++ b/src/emqttd_stats.erl @@ -143,7 +143,7 @@ setstat(Stat, Val) -> ets:update_element(?STATS_TAB, Stat, {2, Val}). %% @doc Set stats with max --spec(setstats(Stat :: atom(), MaxStat :: atom(), Val :: pos_integer()) -> boolean()). +-spec(setstats(Stat :: atom(), MaxStat :: atom(), Val :: pos_integer()) -> ok). setstats(Stat, MaxStat, Val) -> gen_server:cast(?MODULE, {setstats, Stat, MaxStat, Val}). From 490ac8f4491469d4fd6480f377e56a372aafe8f0 Mon Sep 17 00:00:00 2001 From: Frank Feng Date: Fri, 20 Apr 2018 14:33:13 +0800 Subject: [PATCH 3/3] match {error,Reason} --- src/emqttd_vm.erl | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/src/emqttd_vm.erl b/src/emqttd_vm.erl index 368463d35..b23b884fa 100644 --- a/src/emqttd_vm.erl +++ b/src/emqttd_vm.erl @@ -156,9 +156,9 @@ microsecs() -> (Mega * 1000000 + Sec) * 1000000 + Micro. loads() -> - [{load1, ftos(cpu_sup:avg1()/256)}, - {load5, ftos(cpu_sup:avg5()/256)}, - {load15, ftos(cpu_sup:avg15()/256)}]. + [{load1, ftos(avg1()/256)}, + {load5, ftos(avg5()/256)}, + {load15, ftos(avg15()/256)}]. get_system_info() -> [{Key, format_system_info(Key, get_system_info(Key))} || Key <- ?SYSTEM_INFO]. @@ -427,3 +427,27 @@ mapping([{owner, V}|Entries], Acc) when is_pid(V) -> mapping([{Key, Value}|Entries], Acc) -> mapping(Entries, [{Key, Value}|Acc]). +avg1() -> + case cpu_sup:avg1() of + SystemLoad when is_integer(SystemLoad) -> + SystemLoad; + {error, Reason} -> + lager:error("Get the average system load in the last minute fail for ~p~n", [Reason]), + 0.00 + end. +avg5() -> + case cpu_sup:avg5() of + SystemLoad when is_integer(SystemLoad) -> + SystemLoad; + {error, Reason} -> + lager:error("Get the average system load in the last 5 minutes fail for ~p~n", [Reason]), + 0.00 + end. +avg15() -> + case cpu_sup:avg15() of + SystemLoad when is_integer(SystemLoad) -> + SystemLoad; + {error, Reason} -> + lager:error("Get the average system load in the last 15 minutes fail for ~p~n", [Reason]), + 0.00 + end.