Packages
caffeine_lang
6.2.2
6.3.1
6.3.0
6.2.2
6.2.1
6.2.0
6.1.2
6.1.1
6.1.0
6.0.0
5.6.0
5.5.0
5.4.4
5.4.3
5.4.2
5.4.1
5.4.0
5.3.0
5.2.0
5.1.1
5.1.0
5.0.12
5.0.11
5.0.10
5.0.8
5.0.7
5.0.6
5.0.5
5.0.4
5.0.1
5.0.0
4.10.0
4.9.0
4.8.3
4.8.2
4.8.1
4.8.0
4.7.9
4.7.8
4.7.7
4.7.6
4.7.5
4.6.7
4.6.6
4.6.5
4.6.4
4.6.3
4.6.2
4.6.0
4.5.1
4.5.0
4.4.4
4.4.3
4.4.1
4.4.0
4.3.7
4.3.6
3.0.6
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
1.0.2
1.0.1
0.1.0
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.2
0.0.1
A compiler for generating reliability artifacts from service expectation definitions.
Current section
Files
Jump to
Current section
Files
src/caffeine_lang@standard_library@artifacts.erl
-module(caffeine_lang@standard_library@artifacts).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/caffeine_lang/standard_library/artifacts.gleam").
-export([slo_params/0]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-file("src/caffeine_lang/standard_library/artifacts.gleam", 16).
?DOC(" Returns the hardcoded standard library SLO params.\n").
-spec slo_params() -> gleam@dict:dict(binary(), caffeine_lang@linker@slo_params:param_info()).
slo_params() ->
maps:from_list(
[{<<"threshold"/utf8>>,
{param_info,
{primitive_type, {numeric_type, percentage}},
<<"Target percentage (e.g., 99.9%)"/utf8>>}},
{<<"window_in_days"/utf8>>,
{param_info,
{modifier_type,
{defaulted,
{refinement_type,
{inclusive_range,
{primitive_type, {numeric_type, integer}},
<<"1"/utf8>>,
<<"90"/utf8>>}},
<<"30"/utf8>>}},
<<"Rolling window for measurement (1-90 days)"/utf8>>}},
{<<"indicators"/utf8>>,
{param_info,
{collection_type,
{dict,
{primitive_type, string},
{primitive_type, string}}},
<<"Named SLI measurement expressions"/utf8>>}},
{<<"evaluation"/utf8>>,
{param_info,
{primitive_type, string},
<<"How to evaluate indicators as an SLI"/utf8>>}},
{<<"tags"/utf8>>,
{param_info,
{modifier_type,
{optional,
{collection_type,
{dict,
{primitive_type, string},
{primitive_type, string}}}}},
<<"An optional set of tags to append to the SLO artifact"/utf8>>}},
{<<"runbook"/utf8>>,
{param_info,
{modifier_type,
{optional, {primitive_type, {semantic_type, u_r_l}}}},
<<"An optional runbook URL surfaced via the SLO description"/utf8>>}},
{<<"below_ms"/utf8>>,
{param_info,
{modifier_type,
{optional, {primitive_type, {numeric_type, float}}}},
<<"Latency threshold in milliseconds (from `below <duration>` clause on Guarantees, time_slice expectations only)"/utf8>>}},
{<<"depends_on"/utf8>>,
{param_info,
{modifier_type,
{optional,
{record_type,
maps:from_list(
[{<<"hard"/utf8>>,
{modifier_type,
{optional,
{collection_type,
{list,
{primitive_type,
string}}}}}},
{<<"soft"/utf8>>,
{modifier_type,
{optional,
{collection_type,
{list,
{primitive_type,
string}}}}}}]
)}}},
<<"Optional soft and hard dependency declarations for dependency mapping"/utf8>>}}]
).