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};
|
{200, Infos};
|
||||||
|
|
||||||
exhooks(post, #{body := Body}) ->
|
exhooks(post, #{body := Body}) ->
|
||||||
case emqx_exhook_mgr:update_config([exhook, servers], {add, Body}) of
|
{ok, _} = emqx_exhook_mgr:update_config([exhook, servers], {add, Body}),
|
||||||
{ok, _} ->
|
|
||||||
#{<<"name">> := Name} = Body,
|
#{<<"name">> := Name} = Body,
|
||||||
get_nodes_server_info(Name);
|
get_nodes_server_info(Name).
|
||||||
{error, Error} ->
|
|
||||||
{500, #{code => <<"BAD_RPC">>,
|
|
||||||
message => Error
|
|
||||||
}}
|
|
||||||
end.
|
|
||||||
|
|
||||||
action_with_name(get, #{bindings := #{name := Name}}) ->
|
action_with_name(get, #{bindings := #{name := Name}}) ->
|
||||||
get_nodes_server_info(Name);
|
get_nodes_server_info(Name);
|
||||||
|
|
|
@ -110,7 +110,7 @@ on_server_deleted(Name) ->
|
||||||
|
|
||||||
-spec server_metrics(server_name()) -> metrics_info().
|
-spec server_metrics(server_name()) -> metrics_info().
|
||||||
server_metrics(SvrName) ->
|
server_metrics(SvrName) ->
|
||||||
Hooks = ets:match(?HOOKS_METRICS,
|
Hooks = ets:match_object(?HOOKS_METRICS,
|
||||||
{metrics, {SvrName, '_'}, '_', '_', '_', '_', '_'}),
|
{metrics, {SvrName, '_'}, '_', '_', '_', '_', '_'}),
|
||||||
|
|
||||||
Fold = fun(#metrics{succeed = Succeed,
|
Fold = fun(#metrics{succeed = Succeed,
|
||||||
|
@ -155,7 +155,7 @@ servers_metrics() ->
|
||||||
|
|
||||||
-spec hooks_metrics(server_name()) -> hooks_metrics().
|
-spec hooks_metrics(server_name()) -> hooks_metrics().
|
||||||
hooks_metrics(SvrName) ->
|
hooks_metrics(SvrName) ->
|
||||||
Hooks = ets:match(?HOOKS_METRICS,
|
Hooks = ets:match_object(?HOOKS_METRICS,
|
||||||
{metrics, {SvrName, '_'}, '_', '_', '_', '_', '_'}),
|
{metrics, {SvrName, '_'}, '_', '_', '_', '_', '_'}),
|
||||||
|
|
||||||
Fold = fun(#metrics{index = ?INDEX(_, HookPoint),
|
Fold = fun(#metrics{index = ?INDEX(_, HookPoint),
|
||||||
|
|
|
@ -163,6 +163,21 @@ t_error_server_info(_) ->
|
||||||
not_found = emqx_exhook_mgr:server_info(<<"not_exists">>),
|
not_found = emqx_exhook_mgr:server_info(<<"not_exists">>),
|
||||||
ok.
|
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
|
%% Utils
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue