mirror of
https://github.com/c-cube/moonpool.git
synced 2025-12-05 19:00:33 -05:00
expose Tracing
This commit is contained in:
parent
cf8555bcec
commit
a5eef687c8
5 changed files with 16 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue