package eio
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=da260d9da38b3dde9f316652a20b13a261cf90b85a2498ac669b7d564e61942d
sha512=5886e1159f48ede237769baa1d8b5daafa0310e4192d7fe0e8c32aef70f2b6378cef72d0fbae308457e25d87a69802b9ee83a5e8f23e0591d83086a92d701c46
doc/eio.runtime_events/Eio_runtime_events/index.html
Module Eio_runtime_events
Source
This library is used to write event traces using OCaml's runtime events infrastructure.
Writing events
Consuming events
type event = [
| `Create of id * [ `Fiber_in of id | `Cc of cc_ty | `Obj of obj_ty ]
| `Fiber of id
(*The given fiber is now running.
*)| `Name of id * string
(*Names a promise, stream, etc.
*)| `Log of string
(*The running fiber logs a message.
*)| `Enter_span of string
(*The running fiber enters a traced section.
*)| `Exit_span
(*The running fiber leaves the current traced section.
*)| `Get of id
(*The running fiber gets a value from a promise, stream, acquires a lock, etc.
*)| `Try_get of id
(*The running fiber wants to get, but must wait.
*)| `Put of id
(*The running fiber resolves a promise, adds to a stream, releases a lock etc.
*)| `Error of id * string
(*A CC fails with the given error.
*)| `Exit_cc
(*The current CC ends.
*)| `Exit_fiber of id
(*The running fiber ends.
*)| `Suspend_domain of Runtime_events.Type.span
(*The domain asks the OS to wait for events.
*)| `Suspend_fiber of string
(*The running fiber is suspended (until resumed by
*)`Fiber
).| `Domain_spawn of id
(*The current domain was spawned by fiber
*)id
.
]
pp_event
formats an event as a human-readable string
val add_callbacks :
(int -> Runtime_events.Timestamp.t -> event -> unit) ->
Runtime_events.Callbacks.t ->
Runtime_events.Callbacks.t
add_callbacks fn x
adds event handler fn
to x
.
When an Eio event is processed, it calls fn ring_id ts event
.