Packages
prometheus
2.1.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_metric_spec.erl
-module(prometheus_metric_spec).
-export([get_value/2,
get_value/3,
fetch_value/2]).
-export_type([spec/0]).
%%====================================================================
%% Types
%%====================================================================
-type spec() :: proplists:proplist().
%%====================================================================
%% Public API
%%====================================================================
-spec get_value(Key :: atom(), Spec :: spec()) -> any().
get_value(Key, Spec) ->
get_value(Key, Spec, undefined).
-spec get_value(Key :: atom(), Spec :: spec(), Default :: any()) -> any().
get_value(Key, Spec, Default) ->
proplists:get_value(Key, Spec, Default).
-spec fetch_value(Key :: atom(), Spec :: spec()) -> any() | no_return().
fetch_value(Key, Spec) ->
case proplists:get_value(Key, Spec) of
undefined ->
erlang:error({missing_metric_spec_key, Key, Spec});
Value ->
Value
end.