fix(metrics): update the calls to emqx_plugin_libs_metrcis module
This commit is contained in:
parent
ab5ad22b1d
commit
78aa0abd3d
|
@ -35,8 +35,6 @@
|
|||
]).
|
||||
|
||||
-export([ get_metrics/2
|
||||
, get_matched/2
|
||||
, inc_matched/2
|
||||
]).
|
||||
|
||||
%% gen_server callbacks
|
||||
|
@ -74,7 +72,6 @@
|
|||
-define(CntrRef(Name), {?MODULE, Name}).
|
||||
-define(SAMPCOUNT_5M, (?SECS_5M div ?SAMPLING)).
|
||||
|
||||
%% the rate of 'matched'
|
||||
-record(rate, {
|
||||
max = 0 :: number(),
|
||||
current = 0 :: number(),
|
||||
|
@ -106,11 +103,11 @@ child_spec(Name) ->
|
|||
, modules => [emqx_plugin_libs_metrics]
|
||||
}.
|
||||
|
||||
-spec(create_metrics(handler_name(), metric_id(), [atom()]) -> ok).
|
||||
-spec(create_metrics(handler_name(), metric_id(), [atom()]) -> ok | {error, term()}).
|
||||
create_metrics(Name, Id, Metrics) ->
|
||||
create_metrics(Name, Id, Metrics, Metrics).
|
||||
|
||||
-spec(create_metrics(handler_name(), metric_id(), [atom()], [atom()]) -> ok).
|
||||
-spec(create_metrics(handler_name(), metric_id(), [atom()], [atom()]) -> ok | {error, term()}).
|
||||
create_metrics(Name, Id, Metrics, RateMetrics) ->
|
||||
gen_server:call(Name, {create_metrics, Id, Metrics, RateMetrics}).
|
||||
|
||||
|
@ -150,12 +147,6 @@ inc(Name, Id, Metric) ->
|
|||
inc(Name, Id, Metric, Val) ->
|
||||
counters:add(get_ref(Name, Id), idx_metric(Name, Id,Metric), Val).
|
||||
|
||||
inc_matched(Name, Id) ->
|
||||
inc(Name, Id, 'matched', 1).
|
||||
|
||||
get_matched(Name, Id) ->
|
||||
get(Name, Id, 'matched').
|
||||
|
||||
start_link(Name) ->
|
||||
gen_server:start_link({local, Name}, ?MODULE, Name, []).
|
||||
|
||||
|
@ -174,14 +165,19 @@ handle_call({get_rate, Id}, _From, State = #state{rates = Rates}) ->
|
|||
|
||||
handle_call({create_metrics, Id, Metrics, RateMetrics}, _From,
|
||||
State = #state{metric_ids = MIDs, rates = Rates}) ->
|
||||
RatePerId = maps:from_list([{M, #rate{}} || M <- RateMetrics]),
|
||||
Rate1= case Rates of
|
||||
undefined -> #{Id => RatePerId};
|
||||
_ -> Rates#{Id => RatePerId}
|
||||
end,
|
||||
{reply, create_counters(get_self_name(), Id, Metrics),
|
||||
State#state{metric_ids = sets:add_element(Id, MIDs),
|
||||
rates = Rate1}};
|
||||
case RateMetrics -- Metrics of
|
||||
[] ->
|
||||
RatePerId = maps:from_list([{M, #rate{}} || M <- RateMetrics]),
|
||||
Rate1 = case Rates of
|
||||
undefined -> #{Id => RatePerId};
|
||||
_ -> Rates#{Id => RatePerId}
|
||||
end,
|
||||
{reply, create_counters(get_self_name(), Id, Metrics),
|
||||
State#state{metric_ids = sets:add_element(Id, MIDs),
|
||||
rates = Rate1}};
|
||||
_ ->
|
||||
{reply, {error, metrics_to}, State}
|
||||
end.
|
||||
|
||||
handle_call({delete_metrics, Id}, _From,
|
||||
State = #state{metric_ids = MIDs, rates = Rates}) ->
|
||||
|
|
|
@ -346,9 +346,9 @@ filter_instances(Filter) ->
|
|||
[Id || #{id := Id, mod := Mod} <- list_instances_verbose(), Filter(Id, Mod)].
|
||||
|
||||
inc_metrics_funcs(InstId) ->
|
||||
OnFailed = [{fun emqx_plugin_libs_metrics:inc_failed/2, [resource_metrics, InstId]}],
|
||||
OnSucc = [ {fun emqx_plugin_libs_metrics:inc_matched/2, [resource_metrics, InstId]}
|
||||
, {fun emqx_plugin_libs_metrics:inc_success/2, [resource_metrics, InstId]}
|
||||
OnFailed = [{fun emqx_plugin_libs_metrics:inc/2, [resource_metrics, InstId, failed]}],
|
||||
OnSucc = [ {fun emqx_plugin_libs_metrics:inc/2, [resource_metrics, InstId, matched]}
|
||||
, {fun emqx_plugin_libs_metrics:inc/2, [resource_metrics, success]}
|
||||
],
|
||||
{OnSucc, OnFailed}.
|
||||
|
||||
|
|
|
@ -176,7 +176,8 @@ do_create(InstId, ResourceType, Config, Opts) ->
|
|||
{error, not_found} ->
|
||||
case do_start(InstId, ResourceType, Config, Opts) of
|
||||
ok ->
|
||||
ok = emqx_plugin_libs_metrics:create_metrics(resource_metrics, InstId),
|
||||
ok = emqx_plugin_libs_metrics:create_metrics(resource_metrics, InstId,
|
||||
[matched, success, failed], [matched]),
|
||||
{ok, force_lookup(InstId)};
|
||||
Error ->
|
||||
Error
|
||||
|
|
Loading…
Reference in New Issue