refactor(buffer_worker): use static fn for bumping counters

This commit is contained in:
Thales Macedo Garitezi 2023-05-19 16:39:03 -03:00
parent 9c71f4ecbd
commit 0559d6f639
1 changed files with 28 additions and 21 deletions

View File

@ -936,27 +936,34 @@ ensure_metrics_flush_timer(Data = #{metrics_tref := undefined, metrics_flush_int
-spec bump_counters(id(), counters()) -> ok. -spec bump_counters(id(), counters()) -> ok.
bump_counters(Id, Counters) -> bump_counters(Id, Counters) ->
maps:foreach( Iter = maps:iterator(Counters),
fun do_bump_counters(Iter, Id).
(dropped_expired, Val) ->
emqx_resource_metrics:dropped_expired_inc(Id, Val); do_bump_counters(Iter, Id) ->
(dropped_queue_full, Val) -> case maps:next(Iter) of
emqx_resource_metrics:dropped_queue_full_inc(Id, Val); {Key, Val, NIter} ->
(failed, Val) -> do_bump_counters1(Key, Val, Id),
emqx_resource_metrics:failed_inc(Id, Val); do_bump_counters(NIter, Id);
(retried_failed, Val) -> none ->
emqx_resource_metrics:retried_failed_inc(Id, Val); ok
(success, Val) -> end.
emqx_resource_metrics:success_inc(Id, Val);
(retried_success, Val) -> do_bump_counters1(dropped_expired, Val, Id) ->
emqx_resource_metrics:retried_success_inc(Id, Val); emqx_resource_metrics:dropped_expired_inc(Id, Val);
(dropped_resource_not_found, Val) -> do_bump_counters1(dropped_queue_full, Val, Id) ->
emqx_resource_metrics:dropped_resource_not_found_inc(Id, Val); emqx_resource_metrics:dropped_queue_full_inc(Id, Val);
(dropped_resource_stopped, Val) -> do_bump_counters1(failed, Val, Id) ->
emqx_resource_metrics:dropped_resource_stopped_inc(Id, Val) emqx_resource_metrics:failed_inc(Id, Val);
end, do_bump_counters1(retried_failed, Val, Id) ->
Counters emqx_resource_metrics:retried_failed_inc(Id, Val);
). do_bump_counters1(success, Val, Id) ->
emqx_resource_metrics:success_inc(Id, Val);
do_bump_counters1(retried_success, Val, Id) ->
emqx_resource_metrics:retried_success_inc(Id, Val);
do_bump_counters1(dropped_resource_not_found, Val, Id) ->
emqx_resource_metrics:dropped_resource_not_found_inc(Id, Val);
do_bump_counters1(dropped_resource_stopped, Val, Id) ->
emqx_resource_metrics:dropped_resource_stopped_inc(Id, Val).
-spec set_gauges(data()) -> ok. -spec set_gauges(data()) -> ok.
set_gauges(_Data = #{id := Id, index := Index, queue := Q, inflight_tid := InflightTID}) -> set_gauges(_Data = #{id := Id, index := Index, queue := Q, inflight_tid := InflightTID}) ->