Module B0_memo_log

Memo log.

A log has all the build operations, the hashed file paths and a few global timings.

Logs

type t

The type for B0_memo logs.

val of_memo : B0_memo.t -> t

of_memo m is a log for memo m.

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

IO

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.