Struct frame_benchmarking_cli::ExtrinsicCmd
source · pub struct ExtrinsicCmd {
pub shared_params: SharedParams,
pub import_params: ImportParams,
pub params: ExtrinsicParams,
}
Expand description
Benchmark the execution time of different extrinsics.
This is calculated by filling a block with a specific extrinsic and executing the block. The result time is then divided by the number of extrinsics in that block.
NOTE: The BlockExecutionWeight is ignored in this case since it
Fields§
§import_params: ImportParams
§params: ExtrinsicParams
Implementations§
source§impl ExtrinsicCmd
impl ExtrinsicCmd
sourcepub fn run<Block, BA, C>(
&self,
client: Arc<C>,
inherent_data: InherentData,
digest_items: Vec<DigestItem>,
ext_factory: &ExtrinsicFactory
) -> Result<()>where
Block: BlockT<Extrinsic = OpaqueExtrinsic>,
BA: ClientBackend<Block>,
C: BlockBuilderProvider<BA, Block, C> + ProvideRuntimeApi<Block> + HeaderBackend<Block>,
C::Api: ApiExt<Block> + BlockBuilderApi<Block>,
pub fn run<Block, BA, C>( &self, client: Arc<C>, inherent_data: InherentData, digest_items: Vec<DigestItem>, ext_factory: &ExtrinsicFactory ) -> Result<()>where Block: BlockT<Extrinsic = OpaqueExtrinsic>, BA: ClientBackend<Block>, C: BlockBuilderProvider<BA, Block, C> + ProvideRuntimeApi<Block> + HeaderBackend<Block>, C::Api: ApiExt<Block> + BlockBuilderApi<Block>,
Benchmark the execution time of a specific type of extrinsic.
The output will be printed to console.
Trait Implementations§
source§impl Args for ExtrinsicCmd
impl Args for ExtrinsicCmd
source§fn group_id() -> Option<Id>
fn group_id() -> Option<Id>
Report the [
ArgGroup::id
][crate::ArgGroup::id] for this set of argumentssource§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
source§impl CliConfiguration<()> for ExtrinsicCmd
impl CliConfiguration<()> for ExtrinsicCmd
Get the SharedParams for this object
source§fn import_params(&self) -> Option<&ImportParams>
fn import_params(&self) -> Option<&ImportParams>
Get the ImportParams for this object
source§fn trie_cache_maximum_size(&self) -> Result<Option<usize>>
fn trie_cache_maximum_size(&self) -> Result<Option<usize>>
Get the trie cache maximum size. Read more
source§fn pruning_params(&self) -> Option<&PruningParams>
fn pruning_params(&self) -> Option<&PruningParams>
Get the PruningParams for this object
source§fn keystore_params(&self) -> Option<&KeystoreParams>
fn keystore_params(&self) -> Option<&KeystoreParams>
Get the KeystoreParams for this object
source§fn network_params(&self) -> Option<&NetworkParams>
fn network_params(&self) -> Option<&NetworkParams>
Get the NetworkParams for this object
source§fn offchain_worker_params(&self) -> Option<&OffchainWorkerParams>
fn offchain_worker_params(&self) -> Option<&OffchainWorkerParams>
Get a reference to
OffchainWorkerParams
for this object.source§fn node_key_params(&self) -> Option<&NodeKeyParams>
fn node_key_params(&self) -> Option<&NodeKeyParams>
Get the NodeKeyParams for this object
source§fn database_params(&self) -> Option<&DatabaseParams>
fn database_params(&self) -> Option<&DatabaseParams>
Get the DatabaseParams for this object
source§fn base_path(&self) -> Result<Option<BasePath>, Error>
fn base_path(&self) -> Result<Option<BasePath>, Error>
Get the base path of the configuration (if any) Read more
source§fn is_dev(&self) -> Result<bool, Error>
fn is_dev(&self) -> Result<bool, Error>
Returns
true
if the node is for development or not Read moresource§fn transaction_pool(&self, _is_dev: bool) -> Result<Options, Error>
fn transaction_pool(&self, _is_dev: bool) -> Result<Options, Error>
Get the transaction pool options Read more
source§fn network_config(
&self,
chain_spec: &Box<dyn ChainSpec + 'static, Global>,
is_dev: bool,
is_validator: bool,
net_config_dir: PathBuf,
client_id: &str,
node_name: &str,
node_key: NodeKeyConfig,
default_listen_port: u16
) -> Result<NetworkConfiguration, Error>
fn network_config( &self, chain_spec: &Box<dyn ChainSpec + 'static, Global>, is_dev: bool, is_validator: bool, net_config_dir: PathBuf, client_id: &str, node_name: &str, node_key: NodeKeyConfig, default_listen_port: u16 ) -> Result<NetworkConfiguration, Error>
Get the network configuration Read more
source§fn keystore_config(&self, config_dir: &PathBuf) -> Result<KeystoreConfig, Error>
fn keystore_config(&self, config_dir: &PathBuf) -> Result<KeystoreConfig, Error>
Get the keystore configuration. Read more
source§fn database_cache_size(&self) -> Result<Option<usize>, Error>
fn database_cache_size(&self) -> Result<Option<usize>, Error>
Get the database cache size. Read more
source§fn database(&self) -> Result<Option<Database>, Error>
fn database(&self) -> Result<Option<Database>, Error>
Get the database backend variant. Read more
source§fn database_config(
&self,
base_path: &PathBuf,
cache_size: usize,
database: Database
) -> Result<DatabaseSource, Error>
fn database_config( &self, base_path: &PathBuf, cache_size: usize, database: Database ) -> Result<DatabaseSource, Error>
Get the database configuration object for the parameters provided
source§fn state_pruning(&self) -> Result<Option<PruningMode>, Error>
fn state_pruning(&self) -> Result<Option<PruningMode>, Error>
Get the state pruning mode. Read more
source§fn blocks_pruning(&self) -> Result<BlocksPruning, Error>
fn blocks_pruning(&self) -> Result<BlocksPruning, Error>
Get the block pruning mode. Read more
source§fn chain_id(&self, is_dev: bool) -> Result<String, Error>
fn chain_id(&self, is_dev: bool) -> Result<String, Error>
Get the chain ID (string). Read more
source§fn wasm_method(&self) -> Result<WasmExecutionMethod, Error>
fn wasm_method(&self) -> Result<WasmExecutionMethod, Error>
Get the WASM execution method. Read more
source§fn wasm_runtime_overrides(&self) -> Option<PathBuf>
fn wasm_runtime_overrides(&self) -> Option<PathBuf>
Get the path where WASM overrides live. Read more
source§fn rpc_addr(
&self,
_default_listen_port: u16
) -> Result<Option<SocketAddr>, Error>
fn rpc_addr( &self, _default_listen_port: u16 ) -> Result<Option<SocketAddr>, Error>
Get the RPC address.
source§fn rpc_methods(&self) -> Result<RpcMethods, Error>
fn rpc_methods(&self) -> Result<RpcMethods, Error>
Returns the RPC method set to expose. Read more
source§fn rpc_max_connections(&self) -> Result<u32, Error>
fn rpc_max_connections(&self) -> Result<u32, Error>
Get the maximum number of RPC server connections.
source§fn rpc_cors(&self, _is_dev: bool) -> Result<Option<Vec<String, Global>>, Error>
fn rpc_cors(&self, _is_dev: bool) -> Result<Option<Vec<String, Global>>, Error>
Get the RPC cors (
None
if disabled) Read moresource§fn rpc_max_subscriptions_per_connection(&self) -> Result<u32, Error>
fn rpc_max_subscriptions_per_connection(&self) -> Result<u32, Error>
Get maximum number of subscriptions per connection.
source§fn prometheus_config(
&self,
_default_listen_port: u16,
_chain_spec: &Box<dyn ChainSpec + 'static, Global>
) -> Result<Option<PrometheusConfig>, Error>
fn prometheus_config( &self, _default_listen_port: u16, _chain_spec: &Box<dyn ChainSpec + 'static, Global> ) -> Result<Option<PrometheusConfig>, Error>
Get the prometheus configuration (
None
if disabled) Read moresource§fn telemetry_endpoints(
&self,
chain_spec: &Box<dyn ChainSpec + 'static, Global>
) -> Result<Option<TelemetryEndpoints>, Error>
fn telemetry_endpoints( &self, chain_spec: &Box<dyn ChainSpec + 'static, Global> ) -> Result<Option<TelemetryEndpoints>, Error>
Get the telemetry endpoints (if any) Read more
source§fn default_heap_pages(&self) -> Result<Option<u64>, Error>
fn default_heap_pages(&self) -> Result<Option<u64>, Error>
Get the default value for heap pages Read more
source§fn offchain_worker(&self, role: &Role) -> Result<OffchainWorkerConfig, Error>
fn offchain_worker(&self, role: &Role) -> Result<OffchainWorkerConfig, Error>
Returns an offchain worker config wrapped in
Ok(_)
Read moreReturns
Ok(true)
if authoring should be forced Read moresource§fn disable_grandpa(&self) -> Result<bool, Error>
fn disable_grandpa(&self) -> Result<bool, Error>
Returns
Ok(true)
if grandpa should be disabled Read moresource§fn dev_key_seed(&self, _is_dev: bool) -> Result<Option<String>, Error>
fn dev_key_seed(&self, _is_dev: bool) -> Result<Option<String>, Error>
Get the development key seed from the current object Read more
source§fn tracing_targets(&self) -> Result<Option<String>, Error>
fn tracing_targets(&self) -> Result<Option<String>, Error>
Get the tracing targets from the current object (if any) Read more
source§fn tracing_receiver(&self) -> Result<TracingReceiver, Error>
fn tracing_receiver(&self) -> Result<TracingReceiver, Error>
Get the TracingReceiver value from the current object Read more
source§fn node_key(&self, net_config_dir: &PathBuf) -> Result<NodeKeyConfig, Error>
fn node_key(&self, net_config_dir: &PathBuf) -> Result<NodeKeyConfig, Error>
Get the node key from the current object Read more
source§fn max_runtime_instances(&self) -> Result<Option<usize>, Error>
fn max_runtime_instances(&self) -> Result<Option<usize>, Error>
Get maximum runtime instances Read more
source§fn runtime_cache_size(&self) -> Result<u8, Error>
fn runtime_cache_size(&self) -> Result<u8, Error>
Get maximum different runtimes in cache Read more
source§fn announce_block(&self) -> Result<bool, Error>
fn announce_block(&self) -> Result<bool, Error>
Activate or not the automatic announcing of blocks after import Read more
source§fn create_configuration<C>(
&self,
cli: &C,
tokio_handle: Handle
) -> Result<Configuration, Error>where
C: SubstrateCli,
fn create_configuration<C>( &self, cli: &C, tokio_handle: Handle ) -> Result<Configuration, Error>where C: SubstrateCli,
Create a Configuration object from the current object
source§fn detailed_log_output(&self) -> Result<bool, Error>
fn detailed_log_output(&self) -> Result<bool, Error>
Should the detailed log output be enabled.
source§fn init<F>(
&self,
support_url: &String,
impl_version: &String,
logger_hook: F,
config: &Configuration
) -> Result<(), Error>where
F: FnOnce(&mut LoggerBuilder, &Configuration),
fn init<F>( &self, support_url: &String, impl_version: &String, logger_hook: F, config: &Configuration ) -> Result<(), Error>where F: FnOnce(&mut LoggerBuilder, &Configuration),
Initialize substrate. This must be done only once per process. Read more
source§impl CommandFactory for ExtrinsicCmd
impl CommandFactory for ExtrinsicCmd
source§impl Debug for ExtrinsicCmd
impl Debug for ExtrinsicCmd
source§impl FromArgMatches for ExtrinsicCmd
impl FromArgMatches for ExtrinsicCmd
source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches ) -> Result<Self, Error>
source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches ) -> Result<(), Error>
Assign values from
ArgMatches
to self
.source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches ) -> Result<(), Error>
Assign values from
ArgMatches
to self
.source§impl Parser for ExtrinsicCmd
impl Parser for ExtrinsicCmd
§fn try_parse() -> Result<Self, Error<RichFormatter>>
fn try_parse() -> Result<Self, Error<RichFormatter>>
Parse from
std::env::args_os()
, return Err on error.§fn parse_from<I, T>(itr: I) -> Selfwhere
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
fn parse_from<I, T>(itr: I) -> Selfwhere I: IntoIterator<Item = T>, T: Into<OsString> + Clone,
Parse from iterator, exit on error
§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error<RichFormatter>>where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error<RichFormatter>>where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,
Parse from iterator, return Err on error.
§fn update_from<I, T>(&mut self, itr: I)where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
fn update_from<I, T>(&mut self, itr: I)where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,
Update from iterator, exit on error
§fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error<RichFormatter>>where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error<RichFormatter>>where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,
Update from iterator, return Err on error.
Auto Trait Implementations§
impl RefUnwindSafe for ExtrinsicCmd
impl Send for ExtrinsicCmd
impl Sync for ExtrinsicCmd
impl Unpin for ExtrinsicCmd
impl UnwindSafe for ExtrinsicCmd
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read more§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.