Do not drop the task_manager for benchmarking stuff (#12147)

We can not drop the `task_manager` for benchmarking stuff, because otherwise stuff that may needs
this feature (like background signature verification) will fail. Besides the base path setup is
moved to `SharedParams` directly. Meaning any call to `base_path` will now directly return a tmp
path when `--dev` is given.
This commit is contained in:
Bastian Köcher
2022-09-02 09:27:00 +02:00
committed by GitHub
parent 2ff56f8bc8
commit 907144496e
5 changed files with 27 additions and 18 deletions
+17 -13
View File
@@ -115,35 +115,39 @@ pub fn run() -> Result<()> {
cmd.run::<Block, ExecutorDispatch>(config)
},
BenchmarkCmd::Block(cmd) => {
let PartialComponents { client, .. } = new_partial(&config)?;
cmd.run(client)
// ensure that we keep the task manager alive
let partial = new_partial(&config)?;
cmd.run(partial.client)
},
BenchmarkCmd::Storage(cmd) => {
let PartialComponents { client, backend, .. } = new_partial(&config)?;
let db = backend.expose_db();
let storage = backend.expose_storage();
// ensure that we keep the task manager alive
let partial = new_partial(&config)?;
let db = partial.backend.expose_db();
let storage = partial.backend.expose_storage();
cmd.run(config, client, db, storage)
cmd.run(config, partial.client, db, storage)
},
BenchmarkCmd::Overhead(cmd) => {
let PartialComponents { client, .. } = new_partial(&config)?;
let ext_builder = RemarkBuilder::new(client.clone());
// ensure that we keep the task manager alive
let partial = new_partial(&config)?;
let ext_builder = RemarkBuilder::new(partial.client.clone());
cmd.run(config, client, inherent_benchmark_data()?, &ext_builder)
cmd.run(config, partial.client, inherent_benchmark_data()?, &ext_builder)
},
BenchmarkCmd::Extrinsic(cmd) => {
let PartialComponents { client, .. } = service::new_partial(&config)?;
// ensure that we keep the task manager alive
let partial = service::new_partial(&config)?;
// Register the *Remark* and *TKA* builders.
let ext_factory = ExtrinsicFactory(vec![
Box::new(RemarkBuilder::new(client.clone())),
Box::new(RemarkBuilder::new(partial.client.clone())),
Box::new(TransferKeepAliveBuilder::new(
client.clone(),
partial.client.clone(),
Sr25519Keyring::Alice.to_account_id(),
ExistentialDeposit::get(),
)),
]);
cmd.run(client, inherent_benchmark_data()?, &ext_factory)
cmd.run(partial.client, inherent_benchmark_data()?, &ext_factory)
},
BenchmarkCmd::Machine(cmd) =>
cmd.run(&config, SUBSTRATE_REFERENCE_HARDWARE.clone()),