Module Core_profiler_offline_tool.Interest

module Interval_subject : sig ... end
module Raw : sig ... end

A raw or "unfiltered" interest. Specifically, an Event_generator.t can produce events given a buffer and a list of raw interests, which are typically then "filtered" by a Filter.t (a filter takes a list of actual interests / Interest.ts). An event will only ever match one Interest.Raw.t (indeed, events are keyed by raw interests in Event_generator.t) whereas it could match several distinct Interest.ts (e.g., overlapping intervals)

type 'a t =
| All of 'a Raw.t
| In_interval of 'a Raw.t * Interval_subject.t * Core_profiler_disabled.Profiler_units.t * Core.Interval.Int.t

A t specifies some subset of the core-profiler file that we're interested in.

include sig ... end
val compare : ('a ‑> 'a ‑> int) ‑> 'a t ‑> 'a t ‑> int
val t_of_sexp : (Sexplib.Sexp.t ‑> 'a) ‑> Sexplib.Sexp.t ‑> 'a t
val sexp_of_t : ('a ‑> Sexplib.Sexp.t) ‑> 'a t ‑> Sexplib.Sexp.t
module I : sig ... end

When keyed by Probe_id.ts, interests are comparable, hashable.

val raw : 'a t ‑> 'a Raw.t

If this is a filtered interest, this drills down to the 'raw' unfiltered interest. Currently, this means it retrieves the first argument of an In_interval interest, and is the identity function otherwise.

val string_t_of_sexp : Core.Sexp.t ‑> string t

In the presence of special characters, Fn.compose string_t_of_string string_t_to_string might not be the identify function; indeed, it may even raise an error.

val sexp_of_string_t : string t ‑> Core.Sexp.t
val string_t_of_string : string ‑> string t
val string_t_to_string : string t ‑> string
val lookup_ids : string t ‑> Util.Name_map.t ‑> Core_profiler.Probe_id.t t
val lookup_names : Core_profiler.Probe_id.t t ‑> Reader.Header.t ‑> string t
val id_t_to_string : Core_profiler.Probe_id.t t ‑> Reader.Header.t ‑> string
val spec : Core_profiler.Probe_id.t t ‑> Reader.Header.t ‑> Core_profiler.Probe_type.t

Retrieve the Probe_type.t associated with this interest, by drilling down to the relevant Probe_id.t of the group or single

val is_path : _ t ‑> bool
val coerce_interval_units : Core_profiler.Probe_id.t t ‑> Reader.Header.t ‑> Core_profiler.Probe_id.t t

If necessary, coerce the units of any values in this interest to those that the probe that the interest refers to is quoted in.

val readme : string Core.Lazy.t
val arg_type : string t Core.Command.Spec.Arg_type.t
val list_arg : string t list Core.Command.Spec.param
val default_interests : Reader.Header.t ‑> Core_profiler.Probe_id.t t list

Generate a (hopefully sane) set of default interests for the items in this header