package eio-trace

  1. Overview
  2. Docs
module Read = Fxt.Read
module Rings : sig ... end
module Ids : sig ... end
val i64 : int64 -> int
type timestamp = int64
type activation = [
  1. | `Pause
  2. | `Fiber of int
  3. | `Enter_span of string
  4. | `Exit_span
  5. | `Suspend_fiber of string
]
type event =
  1. | Log of string
  2. | Error of string
  3. | Create_cc of string * item
  4. | Add_fiber of {
    1. parent : int;
    2. child : item;
    }
and item = {
  1. id : int;
  2. mutable name : string option;
  3. mutable parent : item option;
  4. mutable events : (timestamp * event) list;
  5. mutable inner_cc : int;
  6. mutable end_time : timestamp option;
  7. mutable activations : (timestamp * activation) list;
}
module Ring : sig ... end
type t = {
  1. mutable start_time : timestamp;
  2. mutable rings : Ring.t Rings.t;
  3. mutable items : item Ids.t;
}
val get_ring : t -> Rings.key -> Ring.t
val current_fiber : t -> Rings.key -> item option
val get : t -> Ids.key -> item
val pp_item : Format.formatter -> item -> unit
val add_activation : item -> timestamp -> activation -> unit
val set_fiber : t -> Rings.key -> timestamp -> Ids.key -> unit
val id_of_pointer : [> `Pointer of int64 ] -> int
val ring_of_thread : t -> Read.thread -> Ring.t option
val fiber_of_thread : t -> Read.thread -> item option
val as_string : [> `String of 'a ] -> 'a
val as_int64 : [> `Int64 of 'a ] -> 'a
val process_event : t -> Read.Event.t -> unit
val process : t -> Eio.Buf_read.t -> unit
val create : string -> t
OCaml

Innovation. Community. Security.