Module Core_profiler_offline_tool.Event_generator

type t

Reads profiler data stored in a file and filters them appropriately

type timer_path = {
interest : Core_profiler.Probe_id.t Interest.Raw.t;
time : Core.Time_ns.t;
time_delta : Core.Time_ns.Span.t;
}
include sig ... end
val compare_timer_path : timer_path ‑> timer_path ‑> int
val timer_path_of_sexp : Sexplib.Sexp.t ‑> timer_path
val sexp_of_timer_path : timer_path ‑> Sexplib.Sexp.t
type probe_path = {
interest : Core_profiler.Probe_id.t Interest.Raw.t;
time : Core.Time_ns.t;
time_delta : Core.Time_ns.Span.t;
value : int;
delta : int;
}
include sig ... end
val compare_probe_path : probe_path ‑> probe_path ‑> int
val probe_path_of_sexp : Sexplib.Sexp.t ‑> probe_path
val sexp_of_probe_path : probe_path ‑> Sexplib.Sexp.t
type event =
| Timer of Core_profiler.Probe_id.t Interest.Raw.t * Core.Time_ns.t
| Probe of Core_profiler.Probe_id.t Interest.Raw.t * Core.Time_ns.t * int
| Timer_path of timer_path
| Probe_path of probe_path
include sig ... end
val compare_event : event ‑> event ‑> int
val event_of_sexp : Sexplib.Sexp.t ‑> event
val sexp_of_event : event ‑> Sexplib.Sexp.t
val event_time : event ‑> Core.Time_ns.t
val create : Core_profiler.Profiler_epoch.t ‑> Reader.Header.t ‑> Core_profiler.Probe_id.t Interest.Raw.t list ‑> ([> Core.read ], _Core.Iobuf.t ‑> t

A t emits (via iter_events) all events that match the list of raw interests provided. The source of the event is identified by passing the raw interest inside the event; interests are hashable and comparable.

val iter_events : t ‑> f:(event ‑> unit) ‑> unit