Legend:
Library
Module
Module type
Parameter
Class
Class type
Trace of a tezos node run, or a replay run.
May be summarised to a JSON file.
Implicitly Auto-Upgradable File Format
The stat trace has these two properties:
It supports extensions, in order to change or add new stats in the future.
Old trace files from old versions are still readable.
There are multiple reasons for wanting compatibility with old versions:
Because one of the goal of the benchmarks is to assess the evolution of performances across distant versions of irmin, we need stability in order to avoid recomputing everything every time.
When those traces will be produced by Tezos nodes, we have no control over the version of those traces.
For this system to work, the "decoding shape" of a version of the stat trace shouldn't ever change (once fixed). The way the trace is built for a version should be stable too.
To modify something in the definition or the collection: append a new version.
new_merge_durations is not just a mirror of Index.Stats.merge_durations, it only contains the new entries since the last time it was recorded. This list is always empty when in the header.
Stats computed from the tree value passed to the commit operation, before the commit, when the tree still carries the modifications brought by the previous operations.
Stats computed on the tree value passed to the commit operation, after the commit, when the inode has been reconstructed and that Tree.length is now innexpensive to perform.
val row_base_t :
'aRepr.t->[ `Add of int32| `Checkout of int32| `Commit of 'acommit_base| `Copy of int32| `Find of int32| `Mem of int32| `Mem_tree of int32| `Remove of int32 ]Repr.t
val row_t :
[ `Add of int32| `Checkout of int32| `Commit of packcommit_base| `Copy of int32| `Find of int32| `Mem of int32| `Mem_tree of int32| `Remove of int32 ]Repr.t
val encode_lrow :
[ `Add of int32| `Checkout of int32| `Commit of V1.packV0.commit_base| `Copy of int32| `Find of int32| `Mem of int32| `Mem_tree of int32| `Remove of int32 ]Repr.encode_bin
val magic : Irmin_traces__Trace_common.Magic.t
val read_with_prefix_exn : (string ->int ref->'a)->in_channel->'a
val open_reader :
string ->V1.packV0.header_base
* (unit ->[ `Add of int32| `Checkout of int32| `Commit of V1.packV0.commit_base| `Copy of int32| `Find of int32| `Mem of int32| `Mem_tree of int32| `Remove of int32 ]Seq.node)
val append_row :
writer->[ `Add of int32| `Checkout of int32| `Commit of V1.packV0.commit_base| `Copy of int32| `Find of int32| `Mem of int32| `Mem_tree of int32| `Remove of int32 ]->
unit