Module otel_meter_server

This module is the SDK's implementation of the MeterProvider.

Behaviours: gen_server.

Description

This module is the SDK's implementation of the MeterProvider. The calls to the server are done from the API module otel_meter_provider. This gen_server is started as part of the SDK's supervision tree and registers itself as the default MeterProvider by using the atom otel_meter_provider as its name.

The MeterProvider is where Meter's are created and Views are registered.

Each MeterProvider has an associated MetricReader.

The MeterProvider "owns" any Instrument created with a Meter from that MeterProvider.

For Measumrents on an Instrument the MeterProvider's Views are checked for a match. If no match is found the default aggregation and temporality is used.

Data Types

meter()

meter() = #meter{}

view_config()

view_config() = #{name => otel_instrument:name() | undefined, description => unicode:unicode_binary() | undefined, selector => otel_view:criteria(), attribute_keys => [opentelemetry:attribute_key()] | undefined, aggregation_module => module() | undefined, aggregation_options => map()}

Function Index

add_instrument/1
add_instrument/2
add_metric_reader/4
add_metric_reader/5
add_view/2
add_view/3
add_view/4
code_change/1
force_flush/0
force_flush/1
get_readers/0
get_readers/1
handle_call/3
handle_cast/2
handle_info/2
init/1
record/5
register_callback/3
register_callback/4
report_cb/1
start_link/4

Function Details

add_instrument/1

add_instrument(Instrument::otel_instrument:t()) -> boolean()

add_instrument/2

add_instrument(Provider::atom(), Instrument::otel_instrument:t()) -> boolean()

add_metric_reader/4

add_metric_reader(ReaderId, ReaderPid, DefaultAggregationMapping, Temporality) -> any()

add_metric_reader/5

add_metric_reader(Provider, ReaderId, ReaderPid, DefaultAggregationMapping, Temporality) -> any()

add_view/2

add_view(Criteria::otel_view:criteria(), Config::otel_view:config()) -> boolean()

add_view/3

add_view(Name::otel_view:name(), Criteria::otel_view:criteria(), Config::otel_view:config()) -> boolean()

add_view/4

add_view(Provider::atom(), Name::otel_view:name(), Criteria::otel_view:criteria(), Config::otel_view:config()) -> boolean()

code_change/1

code_change(State) -> any()

force_flush/0

force_flush() -> ok

force_flush/1

force_flush(Provider::gen_server:server_ref()) -> ok

get_readers/0

get_readers() -> any()

get_readers/1

get_readers(Provider) -> any()

handle_call/3

handle_call(X1, From, State) -> any()

handle_cast/2

handle_cast(X1, State) -> any()

handle_info/2

handle_info(X1, State) -> any()

init/1

init(X1) -> any()

record/5

record(Ctx::otel_ctx:t(), Meter::#meter{}, Name::otel_instrument:t() | otel_instrument:name(), Number::number(), Attributes::opentelemetry:attributes_map()) -> ok

register_callback/3

register_callback(Instruments::[otel_instrument:t()], Callback::otel_instrument:callback(), CallbackArgs::otel_instrument:callback_args()) -> boolean()

register_callback/4

register_callback(Provider::atom(), Instruments::[otel_instrument:t()], Callback::otel_instrument:callback(), CallbackArgs::otel_instrument:callback_args()) -> boolean()

report_cb/1

report_cb(X1) -> any()

start_link/4

start_link(Name::atom(), RegName::atom(), Resource::otel_resource:t(), Config::otel_configuration:t()) -> {ok, pid()} | ignore | {error, term()}


Generated by EDoc