mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-27 01:07:57 +00:00
Disable hostperfcheck by default (#6640)
This feature should only be activated by the polkadot binary. Otherwise parachains may accidentally activate this feature.
This commit is contained in:
+2
-2
@@ -19,7 +19,7 @@ repository = "https://github.com/paritytech/polkadot.git"
|
||||
version = "0.9.37"
|
||||
|
||||
[dependencies]
|
||||
polkadot-cli = { path = "cli", features = [ "kusama-native", "westend-native", "rococo-native" ] }
|
||||
polkadot-cli = { path = "cli", features = [ "kusama-native", "westend-native", "rococo-native", "hostperfcheck" ] }
|
||||
color-eyre = { version = "0.6.1", default-features = false }
|
||||
tikv-jemallocator = "0.5.0"
|
||||
|
||||
@@ -30,7 +30,7 @@ tempfile = "3.2.0"
|
||||
tokio = "1.24.2"
|
||||
substrate-rpc-client = { git = "https://github.com/paritytech/substrate", branch = "master" }
|
||||
polkadot-core-primitives = { path = "core-primitives" }
|
||||
|
||||
|
||||
[workspace]
|
||||
members = [
|
||||
"cli",
|
||||
|
||||
@@ -42,7 +42,7 @@ sc-storage-monitor = { git = "https://github.com/paritytech/substrate", branch =
|
||||
substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", branch = "master" }
|
||||
|
||||
[features]
|
||||
default = ["db", "cli", "hostperfcheck", "full-node", "polkadot-native"]
|
||||
default = ["db", "cli", "full-node", "polkadot-native"]
|
||||
db = ["service/db"]
|
||||
cli = [
|
||||
"clap",
|
||||
|
||||
+16
-12
@@ -28,6 +28,7 @@ use sp_keyring::Sr25519Keyring;
|
||||
use std::net::ToSocketAddrs;
|
||||
|
||||
pub use crate::{error::Error, service::BlockId};
|
||||
#[cfg(feature = "hostperfcheck")]
|
||||
pub use polkadot_performance_test::PerfCheckError;
|
||||
|
||||
impl From<String> for Error {
|
||||
@@ -238,7 +239,11 @@ macro_rules! unwrap_client {
|
||||
#[cfg(feature = "rococo-native")]
|
||||
polkadot_client::Client::Rococo($client) => $code,
|
||||
#[allow(unreachable_patterns)]
|
||||
_ => Err(Error::CommandNotImplemented),
|
||||
_ => {
|
||||
let _ = $client;
|
||||
|
||||
Err(Error::CommandNotImplemented)
|
||||
},
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -246,21 +251,20 @@ macro_rules! unwrap_client {
|
||||
/// Runs performance checks.
|
||||
/// Should only be used in release build since the check would take too much time otherwise.
|
||||
fn host_perf_check() -> Result<()> {
|
||||
#[cfg(not(build_type = "release"))]
|
||||
#[cfg(not(feature = "hostperfcheck"))]
|
||||
{
|
||||
return Err(Error::FeatureNotEnabled { feature: "hostperfcheck" }.into())
|
||||
}
|
||||
|
||||
#[cfg(all(not(build_type = "release"), feature = "hostperfcheck"))]
|
||||
{
|
||||
return Err(PerfCheckError::WrongBuildType.into())
|
||||
}
|
||||
#[cfg(build_type = "release")]
|
||||
|
||||
#[cfg(all(feature = "hostperfcheck", build_type = "release"))]
|
||||
{
|
||||
#[cfg(not(feature = "hostperfcheck"))]
|
||||
{
|
||||
return Err(PerfCheckError::FeatureNotEnabled { feature: "hostperfcheck" }.into())
|
||||
}
|
||||
#[cfg(feature = "hostperfcheck")]
|
||||
{
|
||||
crate::host_perf_check::host_perf_check()?;
|
||||
return Ok(())
|
||||
}
|
||||
crate::host_perf_check::host_perf_check()?;
|
||||
return Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ pub enum Error {
|
||||
SubstrateTracing(#[from] sc_tracing::logging::Error),
|
||||
|
||||
#[error(transparent)]
|
||||
#[cfg(feature = "hostperfcheck")]
|
||||
PerfCheck(#[from] polkadot_performance_test::PerfCheckError),
|
||||
|
||||
#[cfg(not(feature = "pyroscope"))]
|
||||
@@ -53,4 +54,7 @@ pub enum Error {
|
||||
|
||||
#[error("Other: {0}")]
|
||||
Other(String),
|
||||
|
||||
#[error("This subcommand is only available when compiled with `{feature}`")]
|
||||
FeatureNotEnabled { feature: &'static str },
|
||||
}
|
||||
|
||||
@@ -1355,32 +1355,36 @@ pub fn new_chain_ops(
|
||||
> {
|
||||
config.keystore = service::config::KeystoreConfig::InMemory;
|
||||
|
||||
let telemetry_worker_handle = None;
|
||||
|
||||
#[cfg(feature = "rococo-native")]
|
||||
if config.chain_spec.is_rococo() ||
|
||||
config.chain_spec.is_wococo() ||
|
||||
config.chain_spec.is_versi()
|
||||
{
|
||||
return chain_ops!(config, jaeger_agent, telemetry_worker_handle; rococo_runtime, RococoExecutorDispatch, Rococo)
|
||||
return chain_ops!(config, jaeger_agent, None; rococo_runtime, RococoExecutorDispatch, Rococo)
|
||||
}
|
||||
|
||||
#[cfg(feature = "kusama-native")]
|
||||
if config.chain_spec.is_kusama() {
|
||||
return chain_ops!(config, jaeger_agent, telemetry_worker_handle; kusama_runtime, KusamaExecutorDispatch, Kusama)
|
||||
return chain_ops!(config, jaeger_agent, None; kusama_runtime, KusamaExecutorDispatch, Kusama)
|
||||
}
|
||||
|
||||
#[cfg(feature = "westend-native")]
|
||||
if config.chain_spec.is_westend() {
|
||||
return chain_ops!(config, jaeger_agent, telemetry_worker_handle; westend_runtime, WestendExecutorDispatch, Westend)
|
||||
return chain_ops!(config, jaeger_agent, None; westend_runtime, WestendExecutorDispatch, Westend)
|
||||
}
|
||||
|
||||
#[cfg(feature = "polkadot-native")]
|
||||
{
|
||||
return chain_ops!(config, jaeger_agent, telemetry_worker_handle; polkadot_runtime, PolkadotExecutorDispatch, Polkadot)
|
||||
return chain_ops!(config, jaeger_agent, None; polkadot_runtime, PolkadotExecutorDispatch, Polkadot)
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "polkadot-native"))]
|
||||
Err(Error::NoRuntime)
|
||||
{
|
||||
let _ = config;
|
||||
let _ = jaeger_agent;
|
||||
|
||||
Err(Error::NoRuntime)
|
||||
}
|
||||
}
|
||||
|
||||
/// Build a full node.
|
||||
@@ -1488,7 +1492,21 @@ pub fn build_full(
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "polkadot-native"))]
|
||||
Err(Error::NoRuntime)
|
||||
{
|
||||
let _ = config;
|
||||
let _ = is_collator;
|
||||
let _ = grandpa_pause;
|
||||
let _ = enable_beefy;
|
||||
let _ = jaeger_agent;
|
||||
let _ = telemetry_worker_handle;
|
||||
let _ = overseer_enable_anyways;
|
||||
let _ = overseer_gen;
|
||||
let _ = overseer_message_channel_override;
|
||||
let _ = malus_finality_delay;
|
||||
let _ = hwbench;
|
||||
|
||||
Err(Error::NoRuntime)
|
||||
}
|
||||
}
|
||||
|
||||
/// Reverts the node state down to at most the last finalized block.
|
||||
|
||||
@@ -36,9 +36,6 @@ pub enum PerfCheckError {
|
||||
#[error("This subcommand is only available in release mode")]
|
||||
WrongBuildType,
|
||||
|
||||
#[error("This subcommand is only available when compiled with `{feature}`")]
|
||||
FeatureNotEnabled { feature: &'static str },
|
||||
|
||||
#[error("No wasm code found for running the performance test")]
|
||||
WasmBinaryMissing,
|
||||
|
||||
|
||||
Reference in New Issue
Block a user