From 0c29da4302b47d3d77d6623250eb905eaa408b05 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Thu, 5 Mar 2026 15:07:28 -0500 Subject: [PATCH] meter: add `emit` --- src/lib/meter.ml | 2 ++ src/lib/meter.mli | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/lib/meter.ml b/src/lib/meter.ml index d61b33d3..961e40f4 100644 --- a/src/lib/meter.ml +++ b/src/lib/meter.ml @@ -10,6 +10,8 @@ let dummy : t = { emit = Emitter.dummy; clock = Clock.ptime_clock } let[@inline] enabled (self : t) = Emitter.enabled self.emit +let[@inline] emit self ms : unit = Emitter.emit self.emit ms + let[@inline] emit1 (self : t) (m : Metrics.t) : unit = Emitter.emit self.emit [ m ] diff --git a/src/lib/meter.mli b/src/lib/meter.mli index 8ab7a49f..c76a5934 100644 --- a/src/lib/meter.mli +++ b/src/lib/meter.mli @@ -21,6 +21,9 @@ val enabled : t -> bool val of_exporter : Exporter.t -> t (** Create a meter from an exporter *) +val emit : t -> Metrics.t list -> unit +(** Emit metrics directly, bypassing the instrument registry *) + val emit1 : t -> Metrics.t -> unit (** Emit a single metric directly, bypassing the instrument registry *)