Tracing and debugging#
PipelineTracer records lightweight per-step dataset probes by default:
shape, units, dimensionality, rank, NaN counts, and optional min/max values.
These probes are serialized into the HDF trace tree under
/processing/tracer/<run>/steps/<step>/datasets.
Full ProcessingData snapshots are separate and opt-in because they can be
large. Enable them only for debugging runs where the intermediate arrays matter:
modacor run \
--pipeline pipeline.yaml \
--trace \
--trace-watch sample:signal,Q \
--trace-snapshot-processing-data \
--trace-snapshot-step DC_bg \
--write-hdf debug.h5 \
--write-all-processing-data
If no --trace-snapshot-step is supplied, MoDaCor captures a snapshot after
every executed step. HDF exports store snapshots at:
/processing/tracer/<run>/steps/<step>/processing_data
The final result remains under /processing/result/<run>, and the file-level
NeXus default chain points there rather than to an intermediate snapshot.
Snapshot arrays are compressed with HDF5 lzf by default; set
tracer_processing_data_compression in the HDF sink kwargs to override this.