fix(emqx_exhook): improve test coverage of the emqx_exhook_metrics
This commit is contained in:
parent
a28d1efd39
commit
1d832c3026
|
@ -194,15 +194,9 @@ exhooks(get, _) ->
|
|||
{200, Infos};
|
||||
|
||||
exhooks(post, #{body := Body}) ->
|
||||
case emqx_exhook_mgr:update_config([exhook, servers], {add, Body}) of
|
||||
{ok, _} ->
|
||||
#{<<"name">> := Name} = Body,
|
||||
get_nodes_server_info(Name);
|
||||
{error, Error} ->
|
||||
{500, #{code => <<"BAD_RPC">>,
|
||||
message => Error
|
||||
}}
|
||||
end.
|
||||
{ok, _} = emqx_exhook_mgr:update_config([exhook, servers], {add, Body}),
|
||||
#{<<"name">> := Name} = Body,
|
||||
get_nodes_server_info(Name).
|
||||
|
||||
action_with_name(get, #{bindings := #{name := Name}}) ->
|
||||
get_nodes_server_info(Name);
|
||||
|
|
|
@ -110,8 +110,8 @@ on_server_deleted(Name) ->
|
|||
|
||||
-spec server_metrics(server_name()) -> metrics_info().
|
||||
server_metrics(SvrName) ->
|
||||
Hooks = ets:match(?HOOKS_METRICS,
|
||||
{metrics, {SvrName, '_'}, '_', '_', '_', '_', '_'}),
|
||||
Hooks = ets:match_object(?HOOKS_METRICS,
|
||||
{metrics, {SvrName, '_'}, '_', '_', '_', '_', '_'}),
|
||||
|
||||
Fold = fun(#metrics{succeed = Succeed,
|
||||
failed = Failed,
|
||||
|
@ -155,8 +155,8 @@ servers_metrics() ->
|
|||
|
||||
-spec hooks_metrics(server_name()) -> hooks_metrics().
|
||||
hooks_metrics(SvrName) ->
|
||||
Hooks = ets:match(?HOOKS_METRICS,
|
||||
{metrics, {SvrName, '_'}, '_', '_', '_', '_', '_'}),
|
||||
Hooks = ets:match_object(?HOOKS_METRICS,
|
||||
{metrics, {SvrName, '_'}, '_', '_', '_', '_', '_'}),
|
||||
|
||||
Fold = fun(#metrics{index = ?INDEX(_, HookPoint),
|
||||
succeed = Succeed,
|
||||
|
|
|
@ -163,6 +163,21 @@ t_error_server_info(_) ->
|
|||
not_found = emqx_exhook_mgr:server_info(<<"not_exists">>),
|
||||
ok.
|
||||
|
||||
t_metrics(_) ->
|
||||
ok = emqx_exhook_metrics:succeed(<<"default">>, 'client.connect'),
|
||||
ok = emqx_exhook_metrics:failed(<<"default">>, 'client.connect'),
|
||||
true = emqx_exhook_metrics:update(1000),
|
||||
timer:sleep(100),
|
||||
SvrMetrics = emqx_exhook_metrics:server_metrics(<<"default">>),
|
||||
?assertMatch(#{succeed := _, failed := _, rate := _, max_rate := _}, SvrMetrics),
|
||||
|
||||
SvrsMetrics = emqx_exhook_metrics:servers_metrics(),
|
||||
?assertMatch(#{<<"default">> := #{succeed := _}}, SvrsMetrics),
|
||||
|
||||
HooksMetrics = emqx_exhook_metrics:hooks_metrics(<<"default">>),
|
||||
?assertMatch(#{'client.connect' := #{succeed := _}}, HooksMetrics),
|
||||
ok.
|
||||
|
||||
%%--------------------------------------------------------------------
|
||||
%% Utils
|
||||
%%--------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue