diff --git a/src/event/event.ml b/src/event/event.ml index 7ccb4d2..3ccf2d5 100644 --- a/src/event/event.ml +++ b/src/event/event.ml @@ -1,3 +1,8 @@ +(** 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 diff --git a/src/event/subscriber.ml b/src/event/subscriber.ml index 11edab7..8112758 100644 --- a/src/event/subscriber.ml +++ b/src/event/subscriber.ml @@ -1,8 +1,10 @@ +(** Subscriber that emits events *) + open Trace_core open Event type event_consumer = { on_event: Event.t -> unit } [@@unboxed] -(** Callback for events *) +(** Callback for events. *) module Callbacks : Sub.Callbacks.S with type st = event_consumer = struct type st = event_consumer @@ -49,5 +51,7 @@ module Callbacks : Sub.Callbacks.S with type st = event_consumer = struct 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) }