test: add prometheus api test
This commit is contained in:
parent
ae10415fc3
commit
188a81913e
|
@ -52,7 +52,7 @@ post_config_update(_ConfPath, _Req, _NewConf, _OldConf, _AppEnvs) ->
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
update_prometheus(AppEnvs) ->
|
update_prometheus(AppEnvs) ->
|
||||||
{ok, PrevCollectors} = application:get_env(prometheus, collectors),
|
PrevCollectors = prometheus_registry:collectors(default),
|
||||||
CurCollectors = proplists:get_value(collectors, proplists:get_value(prometheus, AppEnvs)),
|
CurCollectors = proplists:get_value(collectors, proplists:get_value(prometheus, AppEnvs)),
|
||||||
lists:foreach(
|
lists:foreach(
|
||||||
fun prometheus_registry:deregister_collector/1,
|
fun prometheus_registry:deregister_collector/1,
|
||||||
|
|
|
@ -30,12 +30,12 @@
|
||||||
" headers = { Authorization = \"some-authz-tokens\"}\n"
|
" headers = { Authorization = \"some-authz-tokens\"}\n"
|
||||||
" job_name = \"${name}~${host}\"\n"
|
" job_name = \"${name}~${host}\"\n"
|
||||||
" enable = true\n"
|
" enable = true\n"
|
||||||
" vm_dist_collector = enabled\n"
|
" vm_dist_collector = disabled\n"
|
||||||
" mnesia_collector = enabled\n"
|
" mnesia_collector = disabled\n"
|
||||||
" vm_statistics_collector = disabled\n"
|
" vm_statistics_collector = disabled\n"
|
||||||
" vm_system_info_collector = disabled\n"
|
" vm_system_info_collector = disabled\n"
|
||||||
" vm_memory_collector = enabled\n"
|
" vm_memory_collector = disabled\n"
|
||||||
" vm_msacc_collector = enabled\n"
|
" vm_msacc_collector = disabled\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
>>).
|
>>).
|
||||||
|
|
||||||
|
|
|
@ -81,13 +81,30 @@ t_prometheus_api(_) ->
|
||||||
),
|
),
|
||||||
#{<<"enable">> := Enable} = Conf,
|
#{<<"enable">> := Enable} = Conf,
|
||||||
?assertEqual(Enable, undefined =/= erlang:whereis(emqx_prometheus)),
|
?assertEqual(Enable, undefined =/= erlang:whereis(emqx_prometheus)),
|
||||||
NewConf = Conf#{<<"interval">> => <<"2s">>, <<"vm_statistics_collector">> => <<"disabled">>},
|
NewConf = Conf#{<<"interval">> => <<"2s">>, <<"vm_statistics_collector">> => <<"enabled">>},
|
||||||
{ok, Response2} = emqx_mgmt_api_test_util:request_api(put, Path, "", Auth, NewConf),
|
{ok, Response2} = emqx_mgmt_api_test_util:request_api(put, Path, "", Auth, NewConf),
|
||||||
|
|
||||||
Conf2 = emqx_utils_json:decode(Response2, [return_maps]),
|
Conf2 = emqx_utils_json:decode(Response2, [return_maps]),
|
||||||
?assertMatch(NewConf, Conf2),
|
?assertMatch(NewConf, Conf2),
|
||||||
?assertEqual({ok, []}, application:get_env(prometheus, vm_statistics_collector_metrics)),
|
|
||||||
?assertEqual({ok, all}, application:get_env(prometheus, vm_memory_collector_metrics)),
|
EnvCollectors = application:get_env(prometheus, collectors, []),
|
||||||
|
PromCollectors = prometheus_registry:collectors(default),
|
||||||
|
?assertEqual(lists:sort(EnvCollectors), lists:sort(PromCollectors)),
|
||||||
|
?assert(lists:member(prometheus_vm_statistics_collector, EnvCollectors), EnvCollectors),
|
||||||
|
|
||||||
|
lists:foreach(
|
||||||
|
fun({C, Enabled}) ->
|
||||||
|
?assertEqual(Enabled, lists:member(C, EnvCollectors), EnvCollectors)
|
||||||
|
end,
|
||||||
|
[
|
||||||
|
{prometheus_vm_dist_collector, false},
|
||||||
|
{prometheus_vm_system_info_collector, false},
|
||||||
|
{prometheus_vm_memory_collector, false},
|
||||||
|
{prometheus_mnesia_collector, false},
|
||||||
|
{prometheus_vm_msacc_collector, false},
|
||||||
|
{prometheus_vm_statistics_collector, true}
|
||||||
|
]
|
||||||
|
),
|
||||||
|
|
||||||
NewConf1 = Conf#{<<"enable">> => (not Enable)},
|
NewConf1 = Conf#{<<"enable">> => (not Enable)},
|
||||||
{ok, _Response3} = emqx_mgmt_api_test_util:request_api(put, Path, "", Auth, NewConf1),
|
{ok, _Response3} = emqx_mgmt_api_test_util:request_api(put, Path, "", Auth, NewConf1),
|
||||||
|
|
Loading…
Reference in New Issue