expose Tracing

This commit is contained in:
Simon Cruanes 2024-02-03 17:21:40 -05:00
parent cf8555bcec
commit a5eef687c8
No known key found for this signature in database
GPG key ID: EBFFF6F283F3A2B4
5 changed files with 16 additions and 0 deletions

View file

@ -34,6 +34,7 @@ module Private = struct
module Ws_deque_ = Ws_deque_
module Suspend_ = Suspend_
module Domain_ = Domain_
module Tracing_ = Tracing_
let num_domains = Domain_pool_.n_domains
end

View file

@ -222,6 +222,8 @@ module Private : sig
module Domain_ = Domain_
(** Utils for domains *)
module Tracing_ = Tracing_
val num_domains : unit -> int
(** Number of domains in the backing domain pool *)
end

View file

@ -3,3 +3,4 @@ let dummy_span = 0L
let enter_span _name = dummy_span
let exit_span = ignore
let set_thread_name = ignore
let with_span _ f = f dummy_span

View file

@ -1,5 +1,6 @@
val dummy_span : int64
val enter_span : string -> int64
val exit_span : int64 -> unit
val with_span : string -> (int64 -> 'a) -> 'a
val enabled : unit -> bool
val set_thread_name : string -> unit

View file

@ -12,3 +12,14 @@ let[@inline] enter_span name : int64 =
Trace.enter_span ~__FILE__:dummy_file_ ~__LINE__:0 name
let[@inline] exit_span sp = if sp <> dummy_span then Trace.exit_span sp
let with_span name f =
let sp = enter_span name in
try
let x = f sp in
exit_span sp;
x
with exn ->
let bt = Printexc.get_raw_backtrace () in
exit_span sp;
Printexc.raise_with_backtrace exn bt