Module Opentelemetry.Meter

include module type of struct include Meter end
val dummy : t

Dummy meter, always disabled

val enabled : t -> bool
val of_exporter : Opentelemetry_core.Exporter.t -> t

Create a meter from an exporter

val emit : t -> Opentelemetry_core.Metrics.t list -> unit

Emit metrics directly, bypassing the instrument registry

val emit1 : t -> Opentelemetry_core.Metrics.t -> unit

Emit a single metric directly, bypassing the instrument registry

val add_cb : (clock:Opentelemetry_core.Clock.t -> unit -> Opentelemetry_core.Metrics.t list) -> unit

Register a raw global metrics callback. Called alongside all instruments when collect runs. Use this for ad-hoc metrics that don't fit the structured instrument API.

val collect : t -> Opentelemetry_core.Metrics.t list

Collect metrics from all registered instruments (Instrument.all) and raw callbacks (add_cb), using this meter's clock.

module Instrument = Opentelemetry_core.Instrument

Global registry of metric instruments. Re-exported from Opentelemetry_core.Instrument for convenience.

Convenience aliases for the instrument submodules in Instrument.

module type INSTRUMENT_IMPL = Meter.INSTRUMENT_IMPL
module Make_instrument = Opentelemetry_core.Instrument.Make
val default : Meter.t
val add_to_exporter : ?min_interval:Mtime.span -> Opentelemetry_core.Exporter.t -> Meter.t -> unit
val add_to_main_exporter : ?min_interval:Mtime.span -> Meter.t -> unit