fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/39665?usp=email )
Change subject: s1gw_metrics: use lists:filter/2 to create counters/gauges ...................................................................... s1gw_metrics: use lists:filter/2 to create counters/gauges Change-Id: I5aa1ab8c95820e4e5e3233c92a6c1b8b3190a30c --- M src/s1gw_metrics.erl 1 file changed, 9 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/erlang/osmo-s1gw refs/changes/65/39665/1 diff --git a/src/s1gw_metrics.erl b/src/s1gw_metrics.erl index 9f7b2e8..dceb477 100644 --- a/src/s1gw_metrics.erl +++ b/src/s1gw_metrics.erl @@ -98,29 +98,14 @@ -type counter() :: [ctr | _]. -type gauge() :: [gauge | _]. --spec new_ctr(counter()) -> ok. -new_ctr(Name) -> - %%?LOG_INFO("New counter ~p", [Name]), - ok = exometer:new(Name, counter). --spec new_ctrs(list(counter())) -> ok. -new_ctrs([]) -> - ok; -new_ctrs([Name | MoreNames]) -> - new_ctr(Name), - new_ctrs(MoreNames). +-spec register_all(Type, List) -> Result + when Type :: exometer:type(), + List :: list(exometer:name()), + Result :: list(exometer:name()). +register_all(Type, List) -> + lists:filter(fun(Name) -> exometer:new(Name, Type) =/= ok end, List). --spec new_gauge(gauge()) -> ok. -new_gauge(Name) -> - %%?LOG_INFO("New gauge ~p", [Name]), - ok = exometer:new(Name, gauge). - --spec new_gauges(list(gauge())) -> ok. -new_gauges([]) -> - ok; -new_gauges([Name | MoreNames]) -> - new_gauge(Name), - new_gauges(MoreNames). -spec get_current_value(counter() | gauge()) -> integer(). get_current_value(Name) -> @@ -128,14 +113,15 @@ {ok, [{value, PrevVal}]} = Result, PrevVal. + %% ------------------------------------------------------------------ %% public API %% ------------------------------------------------------------------ init() -> ?LOG_INFO("Initiating metrics"), - new_ctrs(?S1GW_COUNTERS), - new_gauges(?S1GW_GAUGES). + [] = register_all(counter, ?S1GW_COUNTERS), + [] = register_all(gauge, ?S1GW_GAUGES). %%%%%%%%%%%%% %% CTR APIs -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/39665?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: erlang/osmo-s1gw Gerrit-Branch: master Gerrit-Change-Id: I5aa1ab8c95820e4e5e3233c92a6c1b8b3190a30c Gerrit-Change-Number: 39665 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanits...@sysmocom.de>