Module type S.ANALYSIS

type 'a term

See TERM.

type metadata

Extra data provided by primitives but that isn't part of the value that is passed on to other nodes. For example, a job ID.

val metadata : 'a term -> metadata option term

metadata t is the metadata of t, if any. Raises an exception if t is not a primitive (or a map of one).

val pp : _ term Fmt.t

pp formats a t as a simple string.

val pp_dot : env:(string * string) list -> collapse_link:(k:string -> v:string -> string option) -> job_info:(metadata -> Output.active option * string option) -> _ term Fmt.t

pp_dot ~env ~collapse_link ~job_info formats a t as a graphviz dot graph.

  • parameter env

    A list of key-value pairs from the URL to control rendering.

  • parameter collapse_link

    Should return a link to the same page with "?k=v" added to the environment.

  • parameter job_info

    Get update statuses and URLs for links to jobs. The update status is used if the job is rebuilding while showing the output of a previous run. The box is displayed using a gradient from the update status colour to the current output colour.

Stats

val stat : _ term -> stats

stat t count how many stages are in each state. This can be slow for large pipelines. Consider using quick_stat instead.

val quick_stat : unit -> stats

quick_stat () returns the current values of the counters. This is O(1). It only counts some operations (binds, primitives and of_output).