go-ethereum/eth/tracers/logger
Martin HS f0e7382f38
cmd/evm, eth/tracers: refactor structlogger and make it streaming (#30806)
This PR refactors the structlog a bit, making it so that it can be used
in a streaming mode.

-------------

OBS: this PR makes a change in the input `config` config, the third
input-parem field to `debug.traceCall`. Previously, seteting it to e.g.
` {"enableMemory": true, "limit": 1024}` would mean that the response
was limited to `1024` items. Since an 'item' may include both memory and
storage, the actual size of the response was undertermined.
After this change, the response will be limited to `1024` __`bytes`__
(or thereabouts).



-----------


The commandline usage of structlog now uses the streaming mode, leaving
the non-streaming mode of operation for the eth_Call.

There are two benefits of streaming mode 
1. Not have to maintain a long list of operations, 
2. Not have to duplicate / n-plicate data, e.g. memory / stack /
returndata so that each entry has their own private slice.


---------

Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2024-12-04 08:52:59 +01:00
..
access_list_tracer.go eth/tracers/logger: using maps.Equal (#29384) 2024-03-28 14:09:21 +01:00
gen_callframe.go t8ntool: add optional call frames to json logger (#29353) 2024-03-27 16:12:57 +01:00
gen_structlog.go eth/tracers/logger: make structlog/json-log stack hex again (#28628) 2023-12-05 09:37:48 +01:00
logger.go cmd/evm, eth/tracers: refactor structlogger and make it streaming (#30806) 2024-12-04 08:52:59 +01:00
logger_json.go eth/tracers/logger: fix json-logger output missing (#30804) 2024-11-25 10:07:50 +01:00
logger_test.go core, eth, internal, cmd: rework EVM constructor (#30745) 2024-11-20 12:35:52 +01:00