Module B0_ui.Memo

module Memo: sig .. end

Memo interaction.


val jobs : ?docs:string -> ?env:Cmdliner.Arg.env -> unit -> int option Cmdliner.Term.t

jobs is a cli interface for specifying the maximal number of commands to spawn concurrently.

val max_spawn : jobs:int option -> unit -> int

max_spawn jobs determines a maximal number of spans. This is either, in order, jobs or B0_machine.logical_cpu_count or 1.

val log_feedback : show_spawn_ui:B0_std.Log.level ->
show_success:B0_std.Log.level ->
Stdlib.Format.formatter ->
[ `Exec_submit of B0_std.Os.Cmd.pid option * B00.Op.t
| `Fiber_exn of exn * Stdlib.Printexc.raw_backtrace
| `Fiber_fail of string
| `File_cache_need_copy of B0_std.Fpath.t
| `Miss_tool of B00.Tool.t * string
| `Op_cache_error of B00.Op.t * string
| `Op_complete of B00.Op.t * [ `Did_not_write of B0_std.Fpath.t list ] ] ->
unit

log_feedback ~show_spawn_ui ppf is memo feedback that logs on ppf depending on Log.level. show_spawn_ui is the level at which spawn's ui outputs get logged if even if they are successful. show_success is the level at which all succuss ful operations are get logged. Other than that operations get logged as follows:

Note. This function does not use Log's functions to report. That is the output doesn't go through Log's reporting functions.

val pp_stats : B00.Memo.t B0_std.Fmt.t

pp_stats formats statistics about the memoizer.