In inspector tool for mstore-files (not mstores!) that allows comparing, and gathering some information on them.
$ rebar3 escriptize
$ _build/default/bin/mstore_inspector --help
The index file generated looks like:
<<
SizePerSection:64, %% size of each bitmap (this includes the prefix!)
SizeOfIndex:64, %% size of the index section
Index:SizeOfIndex/binary, %% index Section
Bitmaps/binary %% bitmaps
>>.
Bitmaps are stored using the bitmap library
<<
Size:32, %% Size of this entry
Element:Size, %% Entry
Rest/binary %% The rest
>>.
We sort the indexes then iterate through them, if we see one on the left and not the right (or visa versa) we known the entire metric is missing. If both er present we use bitmap:diff/2
to diff the two bitmaps.
We fail early if the SizePerSection
differs.
Diffs are visualised using the bitmap:visualize/4
function.
If there is no difference we don't need to visualise.
For per metric comparison it's a lot easier.
Left always refers to the 1st file and right to the 2nd file.