refactor(emqx_telemetry): Decorate remote procedure calls
This commit is contained in:
parent
e513583e70
commit
8570df075c
|
@ -256,7 +256,7 @@ uptime() ->
|
|||
nodes_uuid() ->
|
||||
Nodes = lists:delete(node(), mria_mnesia:running_nodes()),
|
||||
lists:foldl(fun(Node, Acc) ->
|
||||
case emqx_modules_proto_v1:get_uuid(Node) of
|
||||
case emqx_telemetry_proto_v1:get_uuid(Node) of
|
||||
{badrpc, _Reason} ->
|
||||
Acc;
|
||||
{ok, UUID} ->
|
||||
|
|
|
@ -153,15 +153,10 @@ enable_telemetry(Enable) ->
|
|||
enable_telemetry(Node, Enable)
|
||||
end, mria_mnesia:running_nodes()).
|
||||
|
||||
enable_telemetry(Node, Enable) when Node =:= node() ->
|
||||
case Enable of
|
||||
true ->
|
||||
emqx_telemetry:enable();
|
||||
false ->
|
||||
emqx_telemetry:disable()
|
||||
end;
|
||||
enable_telemetry(Node, Enable) ->
|
||||
rpc_call(Node, ?MODULE, enable_telemetry, [Node, Enable]).
|
||||
enable_telemetry(Node, true) ->
|
||||
is_ok(emqx_telemetry_proto_v1:enable_telemetry(Node));
|
||||
enable_telemetry(Node, false) ->
|
||||
is_ok(emqx_telemetry_proto_v1:disable_telemetry(Node)).
|
||||
|
||||
get_telemetry_status() ->
|
||||
#{enabled => emqx_telemetry:get_status()}.
|
||||
|
@ -170,8 +165,8 @@ get_telemetry_data() ->
|
|||
{ok, TelemetryData} = emqx_telemetry:get_telemetry(),
|
||||
TelemetryData.
|
||||
|
||||
rpc_call(Node, Module, Fun, Args) ->
|
||||
case rpc:call(Node, Module, Fun, Args) of
|
||||
is_ok(Result) ->
|
||||
case Result of
|
||||
{badrpc, Reason} -> {error, Reason};
|
||||
Result -> Result
|
||||
end.
|
||||
|
|
|
@ -14,13 +14,15 @@
|
|||
%% limitations under the License.
|
||||
%%--------------------------------------------------------------------
|
||||
|
||||
-module(emqx_modules_proto_v1).
|
||||
-module(emqx_telemetry_proto_v1).
|
||||
|
||||
-behaviour(emqx_bpapi).
|
||||
|
||||
-export([ introduced_in/0
|
||||
|
||||
, get_uuid/1
|
||||
, enable_telemetry/1
|
||||
, disable_telemetry/1
|
||||
]).
|
||||
|
||||
-include_lib("emqx/include/bpapi.hrl").
|
||||
|
@ -31,3 +33,11 @@ introduced_in() ->
|
|||
-spec get_uuid(node()) -> {ok, binary()} | emqx_rpc:badrpc().
|
||||
get_uuid(Node) ->
|
||||
rpc:call(Node, emqx_telemetry, get_uuid, []).
|
||||
|
||||
-spec enable_telemetry(node()) -> _.
|
||||
enable_telemetry(Node) ->
|
||||
rpc:call(Node, emqx_telemetry, enable, []).
|
||||
|
||||
-spec disable_telemetry(node()) -> _.
|
||||
disable_telemetry(Node) ->
|
||||
rpc:call(Node, emqx_telemetry, disable, []).
|
|
@ -43,11 +43,13 @@ t_uuid(_) ->
|
|||
{ok, UUID2} = emqx_telemetry:get_uuid(),
|
||||
emqx_telemetry:disable(),
|
||||
emqx_telemetry:enable(),
|
||||
emqx_telemetry_proto_v1:disable_telemetry(node()),
|
||||
emqx_telemetry_proto_v1:enable_telemetry(node()),
|
||||
{ok, UUID3} = emqx_telemetry:get_uuid(),
|
||||
{ok, UUID4} = emqx_modules_proto_v1:get_uuid(node()),
|
||||
{ok, UUID4} = emqx_telemetry_proto_v1:get_uuid(node()),
|
||||
?assertEqual(UUID2, UUID3),
|
||||
?assertEqual(UUID3, UUID4),
|
||||
?assertMatch({badrpc, nodedown}, emqx_modules_proto_v1:get_uuid('fake@node')).
|
||||
?assertMatch({badrpc, nodedown}, emqx_telemetry_proto_v1:get_uuid('fake@node')).
|
||||
|
||||
t_official_version(_) ->
|
||||
true = emqx_telemetry:official_version("0.0.0"),
|
||||
|
|
Loading…
Reference in New Issue