Module type S.ANALYSIS

type 'a 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 -> 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.


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).