From 44fdc9557d7139b94535ca94965a5da4561145cc Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Thu, 1 May 2025 22:48:18 -0400 Subject: [PATCH] restore `enter_manual_{sub,toplevel}_span`, but deprecated this will ease migration --- src/core/trace_core.ml | 10 ++++++++++ src/core/trace_core.mli | 25 +++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/core/trace_core.ml b/src/core/trace_core.ml index ea582bf..6dd66af 100644 --- a/src/core/trace_core.ml +++ b/src/core/trace_core.ml @@ -77,6 +77,16 @@ let[@inline] enter_manual_span ~parent ?flavor ?level ?__FUNCTION__ ~__FILE__ ~__LINE__ ?data name | _ -> Collector.dummy_explicit_span +let[@inline] enter_manual_toplevel_span ?flavor ?level ?__FUNCTION__ ~__FILE__ + ~__LINE__ ?data name : explicit_span = + enter_manual_span ~parent:None ?flavor ?level ?__FUNCTION__ ~__FILE__ + ~__LINE__ ?data name + +let[@inline] enter_manual_sub_span ~parent ?flavor ?level ?__FUNCTION__ + ~__FILE__ ~__LINE__ ?data name : explicit_span = + enter_manual_span ~parent:(Some parent) ?flavor ?level ?__FUNCTION__ ~__FILE__ + ~__LINE__ ?data name + let[@inline] exit_manual_span espan : unit = if espan != Collector.dummy_explicit_span then ( match A.get collector with diff --git a/src/core/trace_core.mli b/src/core/trace_core.mli index 57b97e4..ce09ae6 100644 --- a/src/core/trace_core.mli +++ b/src/core/trace_core.mli @@ -113,6 +113,31 @@ val enter_manual_span : {!set_default_level}. @since NEXT_RELEASE *) +val enter_manual_sub_span : + parent:explicit_span_ctx -> + ?flavor:[ `Sync | `Async ] -> + ?level:Level.t -> + ?__FUNCTION__:string -> + __FILE__:string -> + __LINE__:int -> + ?data:(unit -> (string * user_data) list) -> + string -> + explicit_span +[@@deprecated "use enter_manual_span"] +(** @deprecated since NEXT_RELEASE, use {!enter_manual_span} *) + +val enter_manual_toplevel_span : + ?flavor:[ `Sync | `Async ] -> + ?level:Level.t -> + ?__FUNCTION__:string -> + __FILE__:string -> + __LINE__:int -> + ?data:(unit -> (string * user_data) list) -> + string -> + explicit_span +[@@deprecated "use enter_manual_span"] +(** @deprecated since NEXT_RELEASE, use {!enter_manual_span} *) + val exit_manual_span : explicit_span -> unit (** Exit an explicit span. This can be on another thread, in a fiber or lightweight thread, etc. and will be supported by backends nonetheless. The