Adapt code to new sc-telemetry (#362)

This commit is contained in:
Cecile Tonglet
2021-03-11 13:45:02 +01:00
committed by GitHub
parent 2b73fcf45d
commit 321b4434ac
9 changed files with 282 additions and 242 deletions
+40 -15
View File
@@ -28,7 +28,7 @@ use rococo_parachain_primitives::Block;
use sc_executor::native_executor_instance;
pub use sc_executor::NativeExecutor;
use sc_service::{Configuration, PartialComponents, Role, TFullBackend, TFullClient, TaskManager};
use sc_telemetry::TelemetrySpan;
use sc_telemetry::{Telemetry, TelemetryWorker, TelemetryWorkerHandle};
use sp_core::Pair;
use sp_runtime::traits::BlakeTwo256;
use sp_trie::PrefixedMemoryDB;
@@ -54,16 +54,38 @@ pub fn new_partial(
(),
sp_consensus::import_queue::BasicQueue<Block, PrefixedMemoryDB<BlakeTwo256>>,
sc_transaction_pool::FullPool<Block, TFullClient<Block, RuntimeApi, Executor>>,
(),
(Option<Telemetry>, Option<TelemetryWorkerHandle>),
>,
sc_service::Error,
> {
let inherent_data_providers = sp_inherents::InherentDataProviders::new();
let telemetry = config.telemetry_endpoints.clone()
.filter(|x| !x.is_empty())
.map(|endpoints| -> Result<_, sc_telemetry::Error> {
let worker = TelemetryWorker::new(16)?;
let telemetry = worker.handle().new_telemetry(endpoints);
Ok((worker, telemetry))
})
.transpose()?;
let (client, backend, keystore_container, task_manager) =
sc_service::new_full_parts::<Block, RuntimeApi, Executor>(&config)?;
sc_service::new_full_parts::<Block, RuntimeApi, Executor>(
&config,
telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()),
)?;
let client = Arc::new(client);
let telemetry_worker_handle = telemetry
.as_ref()
.map(|(worker, _)| worker.handle());
let telemetry = telemetry
.map(|(worker, telemetry)| {
task_manager.spawn_handle().spawn("telemetry", worker.run());
telemetry
});
let registry = config.prometheus_registry();
let transaction_pool = sc_transaction_pool::BasicPool::new_full(
@@ -91,7 +113,7 @@ pub fn new_partial(
transaction_pool,
inherent_data_providers,
select_chain: (),
other: (),
other: (telemetry, telemetry_worker_handle),
};
Ok(params)
@@ -122,18 +144,23 @@ where
let parachain_config = prepare_node_config(parachain_config);
let polkadot_full_node =
cumulus_client_service::build_polkadot_full_node(polkadot_config, collator_key.public())
.map_err(|e| match e {
polkadot_service::Error::Sub(x) => x,
s => format!("{}", s).into(),
})?;
let params = new_partial(&parachain_config)?;
params
.inherent_data_providers
.register_provider(sp_timestamp::InherentDataProvider)
.unwrap();
let (mut telemetry, telemetry_worker_handle) = params.other;
let polkadot_full_node =
cumulus_client_service::build_polkadot_full_node(
polkadot_config,
collator_key.public(),
telemetry_worker_handle,
)
.map_err(|e| match e {
polkadot_service::Error::Sub(x) => x,
s => format!("{}", s).into(),
})?;
let client = params.client.clone();
let backend = params.backend.clone();
@@ -162,9 +189,6 @@ where
let rpc_client = client.clone();
let rpc_extensions_builder = Box::new(move |_, _| rpc_ext_builder(rpc_client.clone()));
let telemetry_span = TelemetrySpan::new();
let _telemetry_span_entered = telemetry_span.enter();
sc_service::spawn_tasks(sc_service::SpawnTasksParams {
on_demand: None,
remote_blockchain: None,
@@ -178,7 +202,7 @@ where
network: network.clone(),
network_status_sinks,
system_rpc_tx,
telemetry_span: Some(telemetry_span.clone()),
telemetry: telemetry.as_mut(),
})?;
let announce_block = {
@@ -192,6 +216,7 @@ where
client.clone(),
transaction_pool,
prometheus_registry.as_ref(),
telemetry.as_ref().map(|x| x.handle()),
);
let spawner = task_manager.spawn_handle();