Skip to main content

Module bench

Module bench 

Source
Expand description

reth benchmark command. Collection of various benchmarking routines.

Modulesยง

context ๐Ÿ”’
This contains the BenchContext, which is information that all replay-based benchmarks need. The initialization code is also the same, so this can be shared across benchmark commands.
generate_big_block ๐Ÿ”’
Command for generating large blocks by merging transactions from consecutive real blocks.
helpers ๐Ÿ”’
Common helpers for reth-bench commands.
metrics_scraper ๐Ÿ”’
Prometheus metrics scraper for reth-bench.
new_payload_fcu ๐Ÿ”’
Runs the reth bench command, calling first newPayload for each block, then calling forkchoiceUpdated.
new_payload_only ๐Ÿ”’
Runs the reth bench command, sending only newPayload, without a forkchoiceUpdated call.
output ๐Ÿ”’
Contains various benchmark output formats, either for logging or for serialization to / from files.
replay_payloads ๐Ÿ”’
Command for replaying pre-generated payloads from disk.
send_invalid_payload ๐Ÿ”’
Command for sending invalid payloads to test Engine API rejection.
send_payload ๐Ÿ”’

Structsยง

BenchmarkCommand
reth bench command
BigBlockPayload
A merged big block payload with environment switches at block boundaries.
RawTransaction
A single transaction with its gas used and raw encoded bytes.
RpcTransactionSource
RPC-based transaction source that fetches from a remote node.
TransactionCollector
Collects transactions from a source up to a target gas usage.

Enumsยง

Subcommands
reth benchmark subcommands

Traitsยง

TransactionSource
Abstraction over sources of transactions for big block generation.

Functionsยง

compute_payload_block_hash
Computes the block hash for an [ExecutionData] by converting it to a raw block and hashing the header.