refactor(emqx_plugin): Decorate RPCs

This commit is contained in:
k32 2022-01-18 15:22:20 +01:00
parent 39766d0ab4
commit 6e3b05d665
3 changed files with 38 additions and 3 deletions

View File

@ -55,7 +55,7 @@
-define(SAMPLING, 1).
-endif.
-export_type([metrics/0]).
-export_type([metrics/0, handler_name/0, metric_id/0]).
-type rate() :: #{
current => float(),

View File

@ -0,0 +1,36 @@
%%--------------------------------------------------------------------
%% Copyright (c) 2022 EMQ Technologies Co., Ltd. All Rights Reserved.
%%
%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
%% You may obtain a copy of the License at
%%
%% http://www.apache.org/licenses/LICENSE-2.0
%%
%% Unless required by applicable law or agreed to in writing, software
%% distributed under the License is distributed on an "AS IS" BASIS,
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
%% See the License for the specific language governing permissions and
%% limitations under the License.
%%--------------------------------------------------------------------
-module(emqx_plugin_libs_proto_v1).
-behaviour(emqx_bpapi).
-export([ introduced_in/0
, get_metrics/3
]).
-include_lib("emqx/include/bpapi.hrl").
introduced_in() ->
"5.0.0".
-spec get_metrics( node()
, emqx_plugin_libs_metrics:handler_name()
, emqx_plugin_libs_metrics:metric_id()
) -> emqx_plugin_libs_metrics:metrics() | {badrpc, _}.
get_metrics(Node, HandlerName, MetricId) ->
rpc:call(Node, emqx_plugin_libs_metrics, get_metrics, [HandlerName, MetricId]).

View File

@ -322,7 +322,7 @@ get_rule_metrics(Id) ->
, node => Node
}
end,
[Format(Node, rpc:call(Node, emqx_plugin_libs_metrics, get_metrics, [rule_metrics, Id]))
[Format(Node, emqx_plugin_libs_proto_v1:get_metrics(Node, rule_metrics, Id))
|| Node <- mria_mnesia:running_nodes()].
aggregate_metrics(AllMetrics) ->
@ -350,4 +350,3 @@ filter_out_request_body(Conf) ->
ExtraConfs = [<<"id">>, <<"status">>, <<"node_status">>, <<"node_metrics">>,
<<"metrics">>, <<"node">>],
maps:without(ExtraConfs, Conf).