Current section

Files

Jump to
opentelemetry src ot_meter.hrl
Raw

src/ot_meter.hrl

-record(meter, {module :: module(),
instrumentation_library :: ot_tracer_server:instrumentation_library() | undefined,
telemetry_library :: ot_tracer_server:telemetry_library() | undefined,
resource :: ot_resource:t() | undefined}).
-type meter() :: #meter{}.
-record(instrument, {name :: ot_meter:name(),
description :: ot_meter:description(),
kind :: ot_meter:metric_kind(),
input_type :: ot_meter:input_type(),
mode :: ot_meter:instrument_mode(),
numeric_type :: atom(),
label_keys :: [atom()],
unit :: ot_meter:unit()}).
-type instrument() :: #instrument{}.
-type aggregator() :: module().
-record(active_instrument, {key :: {ot_meter:name(), ot_meter:label_set()},
instrument :: ot_meter:instrument(),
aggregator :: aggregator(),
checkpoint :: number() | undefined,
current :: number() | {number(), integer()} | term()}).
-type active_instrument() :: #active_instrument{}.
-record(bound_instrument, {key :: {ot_meter:name(), ot_meter:label_set()},
input_type :: ot_meter:input_type(),
aggregator :: aggregator()}).
-type bound_instrument() :: #bound_instrument{} | unknown_instrument.
-record(observer, {name :: ot_meter:name(),
instrument :: ot_observer:observer_instrument(),
callback :: ot_observer:callback()}).