mirror of
https://github.com/ocaml-tracing/ocaml-trace.git
synced 2026-05-05 17:04:49 -04:00
test: extract recorder used for ambient tests
This commit is contained in:
parent
feb50a6b8e
commit
47b1a05e39
4 changed files with 38 additions and 34 deletions
3
test/common/dune
Normal file
3
test/common/dune
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
(library
|
||||
(name test_trace_common)
|
||||
(libraries trace.core))
|
||||
32
test/common/test_trace_common.ml
Normal file
32
test/common/test_trace_common.ml
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
(** Shared test utilities for ambient span tests. *)
|
||||
|
||||
type Trace_core.span += Named of string
|
||||
|
||||
let make_recorder () =
|
||||
let open Trace_core.Collector in
|
||||
let cbs =
|
||||
Callbacks.make
|
||||
~enter_span:(fun
|
||||
()
|
||||
~__FUNCTION__:_
|
||||
~__FILE__:_
|
||||
~__LINE__:_
|
||||
~level:_
|
||||
~params:_
|
||||
~data:_
|
||||
~parent:_
|
||||
name
|
||||
-> Named name)
|
||||
~exit_span:(fun () _sp -> ())
|
||||
~add_data_to_span:(fun () _sp _data -> ())
|
||||
~message:(fun () ~level:_ ~params:_ ~data:_ ~span:_ _msg -> ())
|
||||
~metric:(fun () ~level:_ ~params:_ ~data:_ _name _m -> ())
|
||||
()
|
||||
in
|
||||
C_some ((), cbs)
|
||||
|
||||
let current_name () =
|
||||
match Trace_core.current_span () with
|
||||
| None -> "none"
|
||||
| Some (Named s) -> s
|
||||
| Some _ -> "<other>"
|
||||
|
|
@ -3,8 +3,7 @@
|
|||
(modules t_tls)
|
||||
(libraries
|
||||
trace
|
||||
; avoid using a recent dune with `enabled-if`, by just using `select` instead.
|
||||
; the dummy case just echoes back the expected file.
|
||||
test_trace_common
|
||||
(select
|
||||
t_tls.ml
|
||||
from
|
||||
|
|
|
|||
|
|
@ -1,39 +1,9 @@
|
|||
(* Test ambient span tracking via thread-local-storage provider *)
|
||||
|
||||
open Test_trace_common
|
||||
|
||||
let ( let@ ) = ( @@ )
|
||||
|
||||
(* Unique span type so we can identify spans by name *)
|
||||
type Trace_core.span += Named of string
|
||||
|
||||
let make_recorder () =
|
||||
let open Trace_core.Collector in
|
||||
let cbs =
|
||||
Callbacks.make
|
||||
~enter_span:(fun
|
||||
()
|
||||
~__FUNCTION__:_
|
||||
~__FILE__:_
|
||||
~__LINE__:_
|
||||
~level:_
|
||||
~params:_
|
||||
~data:_
|
||||
~parent:_
|
||||
name
|
||||
-> Named name)
|
||||
~exit_span:(fun () _sp -> ())
|
||||
~add_data_to_span:(fun () _sp _data -> ())
|
||||
~message:(fun () ~level:_ ~params:_ ~data:_ ~span:_ _msg -> ())
|
||||
~metric:(fun () ~level:_ ~params:_ ~data:_ _name _m -> ())
|
||||
()
|
||||
in
|
||||
C_some ((), cbs)
|
||||
|
||||
let current_name () =
|
||||
match Trace_core.current_span () with
|
||||
| None -> "none"
|
||||
| Some (Named s) -> s
|
||||
| Some _ -> "<other>"
|
||||
|
||||
let () =
|
||||
print_endline "=== ambient span (TLS) ===";
|
||||
Trace_thread_local_storage.setup ();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue