Current section
Files
Jump to
Current section
Files
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:instrument_kind(),
number_kind :: ot_meter:number_kind(),
monotonic :: boolean(),
synchronous :: boolean(),
unit :: ot_meter:unit()}).
-type instrument() :: #instrument{}.
-record(descriptor, {name :: ot_meter:name(),
kind :: ot_meter:instrument_kind(),
number_kind :: ot_meter:number_kind(),
config :: ot_meter:instrument_config()}).
-record(config, {%% Description describes the instrument in human-readable terms.
description :: ot_meter:description(),
%% Unit describes the measurement unit for a instrument.
unit :: ot_meter:unit()}).
-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()},
number_kind :: ot_meter:number_kind(),
aggregator :: aggregator()}).
-type bound_instrument() :: #bound_instrument{} | unknown_instrument.
-record(observer, {name :: ot_meter:name(),
instrument :: ot_observer:observer_instrument(),
callback :: ot_observer:callback()}).