Expand description

Macro for benchmarking a FRAME runtime.


A set of benchmarks which can establish a global baseline for all other benchmarking.
Interface that provides functions for benchmarking the runtime.


This macro adds pallet benchmarks to a Vec<BenchmarkBatch> object.
Construct pallet benchmarks for weighing dispatchables.
Same as benchmarks but for instantiable module.
Same as benchmarks but for instantiable pallet declared frame_support::pallet.
Callback for define_benchmarks to call add_benchmark.
Callback for define_benchmarks to call list_benchmark.
Defines pallet configs that add_benchmarks and list_benchmarks use. Should be preferred instead of having a repetitive list of configs in add_benchmark and list_benchmark.
This creates a test suite which runs the module’s benchmarks.
This macro allows users to easily generate a list of benchmarks for the pallets configured in the runtime.
Whitelist the given account.


The results of a single of benchmark.
The results of a single of benchmark, where time and db results are separated.
Configuration used to setup and run runtime benchmarks.
A list of benchmarks available for a particular pallet and instance.
Result from running benchmarks on a FRAME pallet. Contains duration of the function call in nanoseconds along with the benchmark parameters used for that benchmark result.
Storage key with read/write tracking information.


Possible errors returned from the benchmarking pipeline.
An alphabet of possible parameters to use for benchmarking.


Runtime api for benchmarking a FRAME runtime.
The pallet benchmarking trait.
The required setup for creating a benchmark.


Grab an account, seeded by a name and index.
show error message and debugging info for the case of an error happening during a benchmark
This caller account is automatically whitelisted for DB reads/writes by the benchmarking macro.