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 <vyanitskiy(a)sysmocom.de>