Benchmarks Writer CLI (#6567)

* initial mockup

* add and wipe

* track writes

* start to add to pipeline

* return all reads/writes

* Log reads and writes from bench db

* causes panic

* Allow multiple commits

* commit before ending benchmark

* doesn't work???

* fix

* Update lib.rs

* switch to struct for `BenchmarkResults`

* add to output

* fix test

* line width

* @kianenigma review

* Add Whitelist to DB Tracking in Benchmarks Pipeline (#6405)

* hardcoded whitelist

* Add whitelist to pipeline

* Remove whitelist pipeline from CLI, add to runtime

* clean-up unused db initialized whitelist

* Add regression analysis to DB Tracking (#6475)

* Add selector

* add tests

* debug formatter for easy formula

* initial idea

* use all benchmarks

* broken

* working without trait

* Make work for multiple pallets

* Fix merge issues

* writer appends to file

* implement () for balances weight trait

* update name of trait

* Weights to WeightInfo

* auto trait writer

* Heap pages are configurable

* clean out runtime changes

* more clean up

* Fix string generation

* Update comments

* Update bin/node/runtime/src/lib.rs

Co-authored-by: arkpar <arkady.paronyan@gmail.com>
This commit is contained in:
Shawn Tabrizi
2020-07-06 11:34:24 +02:00
committed by GitHub
parent a9c21b8b84
commit 2019f70768
8 changed files with 266 additions and 36 deletions
@@ -16,6 +16,7 @@
// limitations under the License.
mod command;
mod writer;
use sc_cli::{ExecutionStrategy, WasmExecutionMethod};
use std::fmt::Debug;
@@ -59,6 +60,18 @@ pub struct BenchmarkCmd {
#[structopt(long)]
pub no_min_squares: bool,
/// Output the benchmarks to a Rust file.
#[structopt(long)]
pub output: bool,
/// Output the trait definition to a Rust file.
#[structopt(long)]
pub weight_trait: bool,
/// Set the heap pages while running benchmarks.
#[structopt(long)]
pub heap_pages: Option<u64>,
#[allow(missing_docs)]
#[structopt(flatten)]
pub shared_params: sc_cli::SharedParams,