mirror of
https://github.com/ocaml-tracing/ocaml-trace.git
synced 2026-03-07 18:37:56 -05:00
remove event for now
This commit is contained in:
parent
5018a9ead7
commit
8e2bb5bc83
3 changed files with 0 additions and 141 deletions
|
|
@ -1,7 +0,0 @@
|
|||
(library
|
||||
(name trace_event)
|
||||
(public_name trace.event)
|
||||
(synopsis "Turns subscriber callbacks into an event type")
|
||||
(libraries
|
||||
(re_export trace.core)
|
||||
(re_export trace.subscriber)))
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
(** Events.
|
||||
|
||||
Each callback in a subscriber corresponds to an event, which can be for
|
||||
example queued somewhere or batched for further processing. *)
|
||||
|
||||
open Trace_core
|
||||
module Sub = Trace_subscriber
|
||||
|
||||
(** An event with TEF/fuchsia semantics *)
|
||||
type t =
|
||||
| E_tick
|
||||
| E_init of { time_ns: int64 }
|
||||
| E_shutdown of { time_ns: int64 }
|
||||
| E_message of {
|
||||
tid: int;
|
||||
msg: string;
|
||||
time_ns: int64;
|
||||
data: (string * user_data) list;
|
||||
}
|
||||
| E_define_span of {
|
||||
tid: int;
|
||||
name: string;
|
||||
time_ns: int64;
|
||||
id: span;
|
||||
fun_name: string option;
|
||||
data: (string * user_data) list;
|
||||
}
|
||||
| E_exit_span of {
|
||||
id: span;
|
||||
time_ns: int64;
|
||||
}
|
||||
| E_add_data of {
|
||||
id: span;
|
||||
data: (string * user_data) list;
|
||||
}
|
||||
| E_enter_manual_span of {
|
||||
tid: int;
|
||||
name: string;
|
||||
time_ns: int64;
|
||||
id: trace_id;
|
||||
flavor: span_flavor option;
|
||||
fun_name: string option;
|
||||
data: (string * user_data) list;
|
||||
}
|
||||
| E_exit_manual_span of {
|
||||
tid: int;
|
||||
name: string;
|
||||
time_ns: int64;
|
||||
flavor: span_flavor option;
|
||||
data: (string * user_data) list;
|
||||
id: trace_id;
|
||||
}
|
||||
| E_counter of {
|
||||
name: string;
|
||||
tid: int;
|
||||
time_ns: int64;
|
||||
n: float;
|
||||
}
|
||||
| E_name_process of { name: string }
|
||||
| E_name_thread of {
|
||||
tid: int;
|
||||
name: string;
|
||||
}
|
||||
| E_extension_event of {
|
||||
tid: int;
|
||||
time_ns: int64;
|
||||
ext: Trace_core.extension_event;
|
||||
}
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
(** Subscriber that emits events *)
|
||||
|
||||
open Trace_core
|
||||
open Event
|
||||
|
||||
type event_consumer = { on_event: Event.t -> unit } [@@unboxed]
|
||||
(** Callback for events. *)
|
||||
|
||||
open struct
|
||||
(* just use the same ones for everyone *)
|
||||
|
||||
let span_gen = Sub.Span_generator.create ()
|
||||
let trace_id_gen = Sub.Trace_id_8B_generator.create ()
|
||||
end
|
||||
|
||||
module Callbacks : Sub.Callbacks.S with type st = event_consumer = struct
|
||||
type st = event_consumer
|
||||
|
||||
let new_span (_self : st) = Sub.Span_generator.mk_span span_gen
|
||||
let new_trace_id _self = Sub.Trace_id_8B_generator.mk_trace_id trace_id_gen
|
||||
let on_init (self : st) ~time_ns = self.on_event (E_init { time_ns })
|
||||
let on_shutdown (self : st) ~time_ns = self.on_event (E_shutdown { time_ns })
|
||||
|
||||
let on_name_process (self : st) ~time_ns:_ ~tid:_ ~name : unit =
|
||||
self.on_event @@ E_name_process { name }
|
||||
|
||||
let on_name_thread (self : st) ~time_ns:_ ~tid ~name : unit =
|
||||
self.on_event @@ E_name_thread { tid; name }
|
||||
|
||||
let[@inline] on_enter_span (self : st) ~__FUNCTION__:fun_name ~__FILE__:_
|
||||
~__LINE__:_ ~time_ns ~tid ~data ~name span : unit =
|
||||
self.on_event
|
||||
@@ E_define_span { tid; name; time_ns; id = span; fun_name; data }
|
||||
|
||||
let on_exit_span (self : st) ~time_ns ~tid:_ span : unit =
|
||||
self.on_event @@ E_exit_span { id = span; time_ns }
|
||||
|
||||
let on_add_data (self : st) ~data span =
|
||||
if data <> [] then self.on_event @@ E_add_data { id = span; data }
|
||||
|
||||
let on_message (self : st) ~time_ns ~tid ~span:_ ~data msg : unit =
|
||||
self.on_event @@ E_message { tid; time_ns; msg; data }
|
||||
|
||||
let on_counter (self : st) ~time_ns ~tid ~data:_ ~name f : unit =
|
||||
self.on_event @@ E_counter { name; n = f; time_ns; tid }
|
||||
|
||||
let on_enter_manual_span (self : st) ~__FUNCTION__:fun_name ~__FILE__:_
|
||||
~__LINE__:_ ~time_ns ~tid ~parent:_ ~data ~name ~flavor ~trace_id _span :
|
||||
unit =
|
||||
self.on_event
|
||||
@@ E_enter_manual_span
|
||||
{ id = trace_id; time_ns; tid; data; name; fun_name; flavor }
|
||||
|
||||
let on_exit_manual_span (self : st) ~time_ns ~tid ~name ~data ~flavor
|
||||
~trace_id (_ : span) : unit =
|
||||
self.on_event
|
||||
@@ E_exit_manual_span { tid; id = trace_id; name; time_ns; data; flavor }
|
||||
|
||||
let on_extension_event (self : st) ~time_ns ~tid ext : unit =
|
||||
self.on_event @@ E_extension_event { tid; time_ns; ext }
|
||||
end
|
||||
|
||||
(** A subscriber that turns calls into events that are passed to the
|
||||
{! event_consumer} *)
|
||||
let subscriber (consumer : event_consumer) : Sub.t =
|
||||
Sub.Subscriber.Sub { st = consumer; callbacks = (module Callbacks) }
|
||||
Loading…
Add table
Reference in a new issue