Log optional context lines (implementation metadata, execution environment).
Log ecalli invocation with register dump.
Format: ecalli={index} pc={pc} gas={gas} {register-dump}
Log HALT termination.
Format: HALT pc={pc} gas={gas} {register-dump}
Log all host actions from a single ecalli invocation. Actions are logged in the order specified by JIP-6:
Log memory read operation.
Format: memread {hex-encoded-address} len={blob-byte-length} -> {hex-encoded-data-read}
Log memory write operation.
Format: memwrite {hex-encoded-address} len={blob-byte-length} <- {hex-encoded-bytes}
Log OOG (out of gas) termination.
Format: OOG pc={pc} gas={gas} {register-dump}
Log PANIC termination.
Format: PANIC={argument} pc={pc} gas={gas} {register-dump}
Log the program blob being executed and the write data (if any)
Format: program {hex-encoded-program-with-metadata}
Format: memwrite {hex-encoded-address} len={blob-byte-length} <- {hex-encoded-bytes}
Log register write operation.
Format: setreg r{idx} <- {hex-encoded-value}
Log initial execution state (prelude).
Format: start pc={pc} gas={gas} {register-dump}
Returns a tracker for IO operations.
StaticcreateCreate an IoTraceLogger that outputs to the ecalli module logger.
Returns null if the ecalli logger is not configured for at least TRACE level.
Enable with: JAM_LOG=ecalli=trace or JAM_LOG=trace
StaticnewStaticnoopCreate a no-op IoTraceLogger that discards all output. Used when tracing is disabled.
Ecalli PVM IO Trace Logger.
Implements the logging format specified for PVM execution tracing. This format is designed to be:
See
https://github.com/tomusdrw/JIPs/pull/2