Module ot_meter

This module defines the ot_meter behaviour.
Required callback functions: 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()

input_type()


input_type() = integer | float

instrument_kind()


instrument_kind() = counter | observer | measure

instrument_opts()


instrument_opts() = #{name => name(), description => description(), kind => instrument_kind(), type => input_type(), label_keys => [label_key()], unit => unit()}

key()


key() = {name(), label_set()}

label_key()


label_key() = unicode:unicode_binary()

label_set()


label_set() = [{label_key(), label_value()}]

label_value()


label_value() = unicode:unicode_binary()

measurement()


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

name()


name() = unicode:unicode_binary()

unit()


unit() = atom()

Function Index

bind/3
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(), LabelSet::label_set()) -> bound_instrument()

new_instruments/2


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

observe/3


observe(X1::ot_observer:observer_result(), Number::number(), LabelSet::label_set()) -> ok

record/2


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

record/4


record(Meter::opentelemetry:meter(), Name::name(), Number::number(), LabelSet::label_set()) -> ok

record_batch/3


record_batch(Meter::opentelemetry:meter(), LabelSet::label_set(), 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