chore: only deal with 0-100 scale sysmem high watermark
This commit is contained in:
parent
1bebbd6ee5
commit
5a84b2c623
|
@ -87,21 +87,20 @@ get_sysmem_high_watermark() ->
|
||||||
call(?FUNCTION_NAME).
|
call(?FUNCTION_NAME).
|
||||||
|
|
||||||
set_sysmem_high_watermark(HW) ->
|
set_sysmem_high_watermark(HW) ->
|
||||||
V = resolve_watermark(HW),
|
|
||||||
case load_ctl:get_config() of
|
case load_ctl:get_config() of
|
||||||
#{ ?MEM_MON_F0 := true } = OldLC ->
|
#{ ?MEM_MON_F0 := true } = OldLC ->
|
||||||
ok = load_ctl:put_config(OldLC#{ ?MEM_MON_F0 => true
|
ok = load_ctl:put_config(OldLC#{ ?MEM_MON_F0 => true
|
||||||
, ?MEM_MON_F1 => V / 100});
|
, ?MEM_MON_F1 => HW / 100});
|
||||||
_ ->
|
_ ->
|
||||||
skip
|
skip
|
||||||
end,
|
end,
|
||||||
gen_server:call(?OS_MON, {?FUNCTION_NAME, V}, infinity).
|
gen_server:call(?OS_MON, {?FUNCTION_NAME, HW}, infinity).
|
||||||
|
|
||||||
get_procmem_high_watermark() ->
|
get_procmem_high_watermark() ->
|
||||||
memsup:get_procmem_high_watermark().
|
memsup:get_procmem_high_watermark().
|
||||||
|
|
||||||
set_procmem_high_watermark(HW) ->
|
set_procmem_high_watermark(HW) ->
|
||||||
memsup:set_procmem_high_watermark(resolve_watermark(HW) / 100).
|
memsup:set_procmem_high_watermark(HW / 100).
|
||||||
|
|
||||||
call(Req) ->
|
call(Req) ->
|
||||||
gen_server:call(?OS_MON, Req, infinity).
|
gen_server:call(?OS_MON, Req, infinity).
|
||||||
|
@ -116,7 +115,7 @@ init([Opts]) ->
|
||||||
memsup:set_sysmem_high_watermark(1),
|
memsup:set_sysmem_high_watermark(1),
|
||||||
set_procmem_high_watermark(proplists:get_value(procmem_high_watermark, Opts)),
|
set_procmem_high_watermark(proplists:get_value(procmem_high_watermark, Opts)),
|
||||||
MemCheckInterval = do_resolve_mem_check_interval(proplists:get_value(mem_check_interval, Opts)),
|
MemCheckInterval = do_resolve_mem_check_interval(proplists:get_value(mem_check_interval, Opts)),
|
||||||
SysHW = resolve_watermark(proplists:get_value(sysmem_high_watermark, Opts)),
|
SysHW = proplists:get_value(sysmem_high_watermark, Opts),
|
||||||
St = ensure_check_timer(#{cpu_high_watermark => proplists:get_value(cpu_high_watermark, Opts),
|
St = ensure_check_timer(#{cpu_high_watermark => proplists:get_value(cpu_high_watermark, Opts),
|
||||||
cpu_low_watermark => proplists:get_value(cpu_low_watermark, Opts),
|
cpu_low_watermark => proplists:get_value(cpu_low_watermark, Opts),
|
||||||
cpu_check_interval => proplists:get_value(cpu_check_interval, Opts),
|
cpu_check_interval => proplists:get_value(cpu_check_interval, Opts),
|
||||||
|
@ -273,12 +272,7 @@ resolve_sysmem_high_watermark(#{sysmem_high_watermark := SysHW}) -> SysHW;
|
||||||
resolve_sysmem_high_watermark(_) ->
|
resolve_sysmem_high_watermark(_) ->
|
||||||
%% sysmem_high_watermark is not found in state map
|
%% sysmem_high_watermark is not found in state map
|
||||||
%% get it from memsup
|
%% get it from memsup
|
||||||
resolve_watermark(memsup:get_sysmem_high_watermark()).
|
memsup:get_sysmem_high_watermark().
|
||||||
|
|
||||||
resolve_watermark(W) when W > 0 andalso W =< 1 ->
|
|
||||||
W * 100;
|
|
||||||
resolve_watermark(W) when W > 0 andalso W =< 100 ->
|
|
||||||
W.
|
|
||||||
|
|
||||||
update_mem_alarm_status(SysHW) ->
|
update_mem_alarm_status(SysHW) ->
|
||||||
case is_sysmem_check_supported() of
|
case is_sysmem_check_supported() of
|
||||||
|
|
|
@ -55,9 +55,9 @@ t_set_sysmem_high_watermark(_) ->
|
||||||
?assertEqual(10, emqx_os_mon:get_sysmem_high_watermark()),
|
?assertEqual(10, emqx_os_mon:get_sysmem_high_watermark()),
|
||||||
emqx_os_mon:set_sysmem_high_watermark(100),
|
emqx_os_mon:set_sysmem_high_watermark(100),
|
||||||
?assertEqual(100, emqx_os_mon:get_sysmem_high_watermark()),
|
?assertEqual(100, emqx_os_mon:get_sysmem_high_watermark()),
|
||||||
emqx_os_mon:set_sysmem_high_watermark(0.9),
|
emqx_os_mon:set_sysmem_high_watermark(90),
|
||||||
?assertEqual(90, emqx_os_mon:get_sysmem_high_watermark()),
|
?assertEqual(90, emqx_os_mon:get_sysmem_high_watermark()),
|
||||||
emqx_os_mon:set_sysmem_high_watermark(0.932),
|
emqx_os_mon:set_sysmem_high_watermark(93.2),
|
||||||
?assertEqual(93.2, emqx_os_mon:get_sysmem_high_watermark()),
|
?assertEqual(93.2, emqx_os_mon:get_sysmem_high_watermark()),
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue