package jenga

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

This module keeps tracks of different things for progress reporting:

  • the amount of work performed, in the form on the counters below
  • for every goal, whether it needs to be built/is built/is in error (along with the error) This information is what is displayed periodically in the output of jenga --progress, and the second kind of information is available in a typed way to rpc clients through the Reportable.t.
val lstat_counter : Metrics.Counter.t
val digest_counter : Metrics.Counter.t
val ls_counter : Metrics.Counter.t
val mkdir_counter : Metrics.Counter.t
val saves_done : Metrics.Counter.t
val actions_run : Metrics.Counter.t
val saves_run : Metrics.Counter.t
val considerations_run : Metrics.Counter.t
val the_reportable_errors : Reportable.t

THE bag of reportable errors; reported to clients over the error-pipe.

type t
val create : Config.t -> t
val enqueue_job : t -> (unit -> 'a Async.Deferred.t) -> 'a Async.Deferred.t
val set_status_todo : t -> Goal.t -> unit
val set_status_built : t -> Goal.t -> unit
val set_status_error : t -> Goal.t -> Reason.t list -> unit
val clear_status : t -> Goal.t -> unit
val mask_unreachable : t -> is_reachable_error:(Goal.t -> bool) -> unit
module Snap : sig ... end
val snap : t -> Snap.t
val reset_metrics : unit -> unit
val readme : unit -> string