Packages
prometheus
4.12.0
6.1.3
6.1.2
6.1.1
6.1.0
6.0.3
6.0.2
6.0.1
6.0.0
5.1.1
5.1.0
5.0.0
4.13.0
retired
4.12.0
4.11.0
4.10.0
4.9.1
4.9.0
4.8.2
4.8.1
4.8.0
4.6.0
4.5.0
4.4.1
4.4.0
4.3.0
4.2.2
4.2.0
4.1.0
4.0.1
4.0.0
3.5.1
3.5.0
3.4.6
3.4.5
3.4.4
3.4.3
3.4.2
3.4.1
3.4.0
3.3.2
3.3.1
3.3.0
3.2.3
3.2.2
3.2.1
3.1.1
3.1.0
3.0.1
3.0.0
3.0.0-rc1
3.0.0-alpha9
3.0.0-alpha8
3.0.0-alpha7
3.0.0-alpha6
3.0.0-alpha5
3.0.0-alpha4
3.0.0-alpha3
3.0.0-alpha2
3.0.0-alpha10
3.0.0-alpha1
2.2.0
2.1.0
2.0.0
1.7.0
1.6.0
1.5.0
1.0.2
1.0.1
1.0.0
0.2.0
0.1.3
0.1.2
0.1.1
0.1.0
Prometheus.io client in Erlang
Current section
Files
Jump to
Current section
Files
src/prometheus_instrumenter.erl
-module(prometheus_instrumenter).
-compile({parse_transform, prometheus_pt}).
-export([enabled_instrumenters/0, setup/1]).
-export_type([instrumenter/0]).
-type instrumenter() :: atom().
-callback setup_instrumenter() -> ok.
-doc false.
-spec enabled_instrumenters() -> [instrumenter()].
enabled_instrumenters() ->
case application:get_env(prometheus, instrumenters) of
undefined -> all_known_instrumenters();
{ok, Instrumenters} -> Instrumenters
end.
-doc false.
-spec setup(Instrumenter) -> Result when
Instrumenter :: instrumenter(),
Result :: ok.
setup(Instrumenter) ->
ok = Instrumenter:setup_instrumenter().
all_known_instrumenters() ->
prometheus_misc:behaviour_modules(prometheus_instrumenter).