core: enter_span takes an optional flavor

it's a core extension, it should be easy to use
This commit is contained in:
Simon Cruanes 2026-01-14 22:29:32 -05:00
parent 2cfb3c67fa
commit c89a031e43
No known key found for this signature in database
GPG key ID: EBFFF6F283F3A2B4
2 changed files with 9 additions and 3 deletions

View file

@ -64,12 +64,17 @@ let[@inline] with_span ?level ?__FUNCTION__ ~__FILE__ ~__LINE__ ?parent ?params
(* fast path: no collector, no span *)
f Collector.dummy_span
let[@inline] enter_span ?level ?__FUNCTION__ ~__FILE__ ~__LINE__ ?parent ?params
?data name : span =
let[@inline] enter_span ?level ?__FUNCTION__ ~__FILE__ ~__LINE__ ?flavor ?parent
?(params = []) ?data name : span =
match A.get collector with
| C_some (st, cbs) when check_level ?level () ->
let params =
match flavor with
| None -> params
| Some f -> Core_ext.Extension_span_flavor f :: params
in
(enter_span_st [@inlined never]) st cbs ?__FUNCTION__ ~__FILE__ ~__LINE__
?parent ?params ?data name
?parent ~params ?data name
| _ -> Collector.dummy_span
let[@inline] exit_span sp : unit =

View file

@ -67,6 +67,7 @@ val enter_span :
?__FUNCTION__:string ->
__FILE__:string ->
__LINE__:int ->
?flavor:[ `Sync | `Async ] ->
?parent:span option ->
?params:extension_parameter list ->
?data:(unit -> (string * user_data) list) ->