Packages
prometheus
6.0.1
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.erl
-module(prometheus).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-behaviour(application).
-type label_name() :: dynamic().
-type label_value() :: dynamic().
-type label() :: {label_name(), label_value()}.
-type pre_rendered_labels() :: binary().
-type labels() :: [label()] | #{label_name() => label_value()} | pre_rendered_labels().
-type value() :: float() | integer() | undefined | infinity.
-type prometheus_boolean() :: boolean() | number() | list() | undefined.
-type gauge() :: value() | {value()} | {labels(), value()}.
-type counter() :: value() | {value()} | {labels(), value()}.
-type untyped() :: value() | {value()} | {labels(), value()}.
-type summary() ::
{non_neg_integer(), value()}
| {labels(), non_neg_integer(), value()}.
-type buckets() :: nonempty_list({prometheus_buckets:bucket_bound(), non_neg_integer()}).
-type histogram() ::
{buckets(), non_neg_integer(), value()}
| {labels(), buckets(), non_neg_integer(), value()}.
-type pbool() ::
prometheus_boolean()
| {prometheus_boolean()}
| {labels(), prometheus_boolean()}.
-type tmetric() ::
gauge()
| counter()
| untyped()
| summary()
| histogram()
| pbool().
-type metrics() :: tmetric() | [tmetric()].
-export_type([
label/0,
labels/0,
label_name/0,
label_value/0,
value/0,
gauge/0,
counter/0,
summary/0,
histogram/0,
buckets/0,
metrics/0,
untyped/0,
pbool/0,
prometheus_boolean/0
]).
-export([start/2, stop/1]).
-export([start/0, stop/0]).
-spec start(application:start_type(), dynamic()) -> supervisor:startlink_ret().
start(_StartType, _StartArgs) ->
prometheus_sup:start_link().
-spec stop(dynamic()) -> ok.
stop(_State) ->
ok.
?DOC(false).
-spec start() -> ok | {error, dynamic()}.
start() ->
case application:ensure_all_started(?MODULE) of
{ok, _} ->
ok;
Error ->
Error
end.
?DOC(false).
-spec stop() -> ok | {error, dynamic()}.
stop() ->
application:stop(?MODULE).