Memo.Log
B0_memo
.Memo log.
A B0_memo
.Memo log has all the build operations, the hashed file paths and a few global timings.
val hash_fun : t -> string
hash_fun
is the identifier of the hash function that was used.
val file_hashes : t -> B0_std.Hash.t B0_std.Fpath.Map.t
file_hashes l
has all the files that were hashed through the memo.
val hash_dur : t -> B0_std.Mtime.Span.t
hash_dur l
is the time span spent hashing.
val total_dur : t -> B0_std.Mtime.Span.t
total_dur l
is the time spanning from B0_memo
.create to of_memo
.
val cpu_dur : t -> B0_std.Os.Cpu.Time.Span.t
cpu_dur l
is the CPU time spanning from B0_memo
.create to of_memo
.
val jobs : t -> int
jobs l
is the maximal number of concurent spawns given to the build operation executor.
val ops : t -> B0_zero.Op.t list
ops l
are the operations of the log.
val bincode : t B0_bincode.t
bincode
is a binary codec for logs.
val write : B0_std.Fpath.t -> t -> (unit, string) Stdlib.result
write f l
writes log l
to file f
.
val read : B0_std.Fpath.t -> (t, string) Stdlib.result
read f
read a log from file f
.
val pp_stats : hashed_size:bool -> Op.query -> t B0_std.Fmt.t
pp_stats sel
formats statistics stored in the log using query
to select operations that are part of the statistics. If hashed_size
the sum of the size of the files in file_hashes
is computed (this accesses the file system in a non-fatal way in case of errors).
val out :
Stdlib.Format.formatter ->
out_format ->
output_format ->
Op.query ->
path:B0_std.Fpath.t ->
t ->
unit
out
formats a log on the given formatter. path
is used when `Path
is requested.
val out_format_cli : ?docs:string -> unit -> out_format Cmdliner.Term.t
out_format_cli ~docs ()
are mutually exclusive options to specify alternate output formats. docs
is the manual section in which options are documented, defaults to s_output_format_options