Module ot_meter

This module defines the ot_meter behaviour.
Required callback functions: new_instrument/4, new_instruments/2, record/3, record/4, record_batch/3, bind/3, release/2, register_observer/3, set_observer_callback/3, observe/3.

Data Types

bound_instrument()


bound_instrument() = {opentelemetry:meter(), term()}

description()


description() = unicode:unicode_binary()

instrument_config()


instrument_config() = #{description => description(), number_kind => number_kind(), unit => unit(), monotonic => boolean(), synchronous => boolean()}

instrument_definition()


instrument_definition() = {name(), instrument_kind(), instrument_opts()}

instrument_kind()


instrument_kind() = module()

instrument_opts()


instrument_opts() = #{description => description(), number_kind => number_kind(), unit => unit()}

instrument_properties()


instrument_properties() = #{monotonic => boolean(), synchronous => boolean()}

label()


label() = {label_key(), label_value()}

label_key()


label_key() = unicode:unicode_binary()

label_value()


label_value() = unicode:unicode_binary()

labels()


labels() = [label()]

measurement()


measurement() = {bound_instrument() | name(), number()}

name()


name() = unicode:unicode_binary()

number_kind()


number_kind() = integer | float

unit()


unit() = atom()

Function Index

bind/3
instrument_definition/4
new_instrument/4
new_instruments/2
observe/3
record/2
record/4
record_batch/3
register_observer/3
release/1
set_observer_callback/3

Function Details

bind/3


bind(Meter::opentelemetry:meter(), Name::name(), Labels::labels()) -> bound_instrument()

instrument_definition/4


instrument_definition(InstrumentModule::module(), Name::name(), Properties::instrument_properties(), Opts::instrument_opts()) -> instrument_definition()

new_instrument/4


new_instrument(Meter::opentelemetry:meter(), Name::name(), InstrumentKind::instrument_kind(), InstrumentOpts::instrument_opts()) -> boolean()

new_instruments/2


new_instruments(Meter::opentelemetry:meter(), List::[instrument_definition()]) -> boolean()

observe/3


observe(X1::ot_observer:observer_result(), Number::number(), Labels::labels()) -> ok

record/2


record(X1::bound_instrument(), Number::number()) -> ok

record/4


record(Meter::opentelemetry:meter(), Name::name(), Number::number(), Labels::labels()) -> ok

record_batch/3


record_batch(Meter::opentelemetry:meter(), Labels::labels(), Measurements::[measurement()]) -> ok

register_observer/3


register_observer(Meter::opentelemetry:meter(), Name::ot_meter:name(), Callback::ot_observer:callback()) -> ok | unknown_instrument

release/1


release(X1::bound_instrument()) -> ok

set_observer_callback/3


set_observer_callback(Meter::opentelemetry:meter(), Name::ot_meter:name(), Callback::ot_observer:callback()) -> ok | unknown_instrument