From fa7cced58d7bef6c972aba466c0c81f3f1e265b4 Mon Sep 17 00:00:00 2001 From: Robert Habermeier <rphmeier@gmail.com> Date: Thu, 17 Dec 2020 16:11:37 -0500 Subject: [PATCH] adjust span names (#2135) * adjust span names * fix compile --- .../node/core/bitfield-signing/src/lib.rs | 25 ++++++++++++++----- .../node/core/candidate-selection/src/lib.rs | 10 ++++---- polkadot/node/core/proposer/src/lib.rs | 4 +-- polkadot/node/core/provisioner/src/lib.rs | 10 ++++---- .../network/bitfield-distribution/src/lib.rs | 4 +-- 5 files changed, 33 insertions(+), 20 deletions(-) diff --git a/polkadot/node/core/bitfield-signing/src/lib.rs b/polkadot/node/core/bitfield-signing/src/lib.rs index d5c7f4b29a9..15ab1983c95 100644 --- a/polkadot/node/core/bitfield-signing/src/lib.rs +++ b/polkadot/node/core/bitfield-signing/src/lib.rs @@ -76,7 +76,7 @@ async fn get_core_availability( validator_idx: ValidatorIndex, sender: &Mutex<&mut mpsc::Sender<FromJobCommand>>, ) -> Result<bool, Error> { - let span = jaeger::hash_span(&relay_parent, "core_availability"); + let span = jaeger::hash_span(&relay_parent, "core-availability"); if let CoreState::Occupied(core) = core { tracing::trace!(target: LOG_TARGET, para_id = %core.para_id, "Getting core availability"); @@ -144,7 +144,6 @@ async fn get_availability_cores( relay_parent: Hash, sender: &mut mpsc::Sender<FromJobCommand>, ) -> Result<Vec<CoreState>, Error> { - let _span = jaeger::hash_span(&relay_parent, "get availability cores"); let (tx, rx) = oneshot::channel(); sender .send(AllMessages::from(RuntimeApiMessage::Request(relay_parent, RuntimeApiRequest::AvailabilityCores(tx))).into()) @@ -160,14 +159,18 @@ async fn get_availability_cores( /// - for each core, concurrently determine chunk availability (see `get_core_availability`) /// - return the bitfield if there were no errors at any point in this process /// (otherwise, it's prone to false negatives) -#[tracing::instrument(level = "trace", skip(sender), fields(subsystem = LOG_TARGET))] +#[tracing::instrument(level = "trace", skip(sender, span), fields(subsystem = LOG_TARGET))] async fn construct_availability_bitfield( relay_parent: Hash, + span: &jaeger::JaegerSpan, validator_idx: ValidatorIndex, sender: &mut mpsc::Sender<FromJobCommand>, ) -> Result<AvailabilityBitfield, Error> { // get the set of availability cores from the runtime - let availability_cores = get_availability_cores(relay_parent, sender).await?; + let availability_cores = { + let _span = span.child("get-availability-cores"); + get_availability_cores(relay_parent, sender).await? + }; // Wrap the sender in a Mutex to share it between the futures. // @@ -274,7 +277,12 @@ impl JobTrait for BitfieldSigningJob { let _span = span.child("availablity"); let bitfield = - match construct_availability_bitfield(relay_parent, validator.index(), &mut sender).await + match construct_availability_bitfield( + relay_parent, + &span, + validator.index(), + &mut sender, + ).await { Err(Error::Runtime(runtime_err)) => { // Don't take down the node on runtime API errors. @@ -338,7 +346,12 @@ mod tests { let relay_parent = Hash::default(); let validator_index = 1u32; - let future = construct_availability_bitfield(relay_parent, validator_index, &mut sender).fuse(); + let future = construct_availability_bitfield( + relay_parent, + &jaeger::JaegerSpan::Disabled, + validator_index, + &mut sender, + ).fuse(); pin_mut!(future); loop { diff --git a/polkadot/node/core/candidate-selection/src/lib.rs b/polkadot/node/core/candidate-selection/src/lib.rs index 3958ffe280e..de128722afe 100644 --- a/polkadot/node/core/candidate-selection/src/lib.rs +++ b/polkadot/node/core/candidate-selection/src/lib.rs @@ -102,7 +102,7 @@ impl JobTrait for CandidateSelectionJob { ) -> Pin<Box<dyn Future<Output = Result<(), Self::Error>> + Send>> { let span = jaeger::hash_span(&relay_parent, "candidate-selection:run"); async move { - let _span = span.child("query runtime"); + let _span = span.child("query-runtime"); let (groups, cores) = futures::try_join!( try_runtime_api!(request_validator_groups(relay_parent, &mut sender).await), try_runtime_api!(request_from_runtime( @@ -116,7 +116,7 @@ impl JobTrait for CandidateSelectionJob { let cores = try_runtime_api!(cores); drop(_span); - let _span = span.child("find assignment"); + let _span = span.child("find-assignment"); let n_cores = cores.len(); @@ -171,7 +171,7 @@ impl CandidateSelectionJob { } async fn run_loop(&mut self, span: &jaeger::JaegerSpan) -> Result<(), Error> { - let span = span.child("run loop"); + let span = span.child("run-loop"); loop { match self.receiver.next().await { Some(CandidateSelectionMessage::Collation( @@ -179,14 +179,14 @@ impl CandidateSelectionJob { para_id, collator_id, )) => { - let _span = span.child("handle collation"); + let _span = span.child("handle-collation"); self.handle_collation(relay_parent, para_id, collator_id).await; } Some(CandidateSelectionMessage::Invalid( _, candidate_receipt, )) => { - let _span = span.child("handle invalid"); + let _span = span.child("handle-invalid"); self.handle_invalid(candidate_receipt).await; } None => break, diff --git a/polkadot/node/core/proposer/src/lib.rs b/polkadot/node/core/proposer/src/lib.rs index 63b3859422e..96eb6bb95f2 100644 --- a/polkadot/node/core/proposer/src/lib.rs +++ b/polkadot/node/core/proposer/src/lib.rs @@ -197,7 +197,7 @@ where ) -> Self::Proposal { async move { let span = jaeger::hash_span(&self.parent_header_hash, "propose"); - let _span = span.child("get provisioner"); + let _span = span.child("get-provisioner"); let provisioner_data = match self.get_provisioner_data().await { Ok(pd) => pd, @@ -214,7 +214,7 @@ where &provisioner_data, )?; - let _span = span.child("authorship propose"); + let _span = span.child("authorship-propose"); self.inner .propose(inherent_data, inherent_digests, max_duration, record_proof) .await diff --git a/polkadot/node/core/provisioner/src/lib.rs b/polkadot/node/core/provisioner/src/lib.rs index fe89a6136cd..7eb134fc2a0 100644 --- a/polkadot/node/core/provisioner/src/lib.rs +++ b/polkadot/node/core/provisioner/src/lib.rs @@ -155,7 +155,7 @@ impl JobTrait for ProvisioningJob { sender, receiver, ); - + let span = jaeger::hash_span(&relay_parent, "provisioner"); // it isn't necessary to break run_loop into its own function, @@ -194,7 +194,7 @@ impl ProvisioningJob { futures::select! { msg = self.receiver.next().fuse() => match msg { Some(RequestInherentData(_, return_sender)) => { - let _span = span.child("req inherent data"); + let _span = span.child("req-inherent-data"); let _timer = self.metrics.time_request_inherent_data(); if self.inherent_after.is_ready() { @@ -204,11 +204,11 @@ impl ProvisioningJob { } } Some(RequestBlockAuthorshipData(_, sender)) => { - let _span = span.child("req block authorship"); + let _span = span.child("req-block-authorship"); self.provisionable_data_channels.push(sender) } Some(ProvisionableData(_, data)) => { - let _span = span.child("provisionable data"); + let _span = span.child("provisionable-data"); let _timer = self.metrics.time_provisionable_data(); let mut bad_indices = Vec::new(); @@ -246,7 +246,7 @@ impl ProvisioningJob { None => break, }, _ = self.inherent_after.ready().fuse() => { - let _span = span.child("send inherent data"); + let _span = span.child("send-inherent-data"); let return_senders = std::mem::take(&mut self.awaiting_inherent); if !return_senders.is_empty() { self.send_inherent_data(return_senders).await; diff --git a/polkadot/node/network/bitfield-distribution/src/lib.rs b/polkadot/node/network/bitfield-distribution/src/lib.rs index 5bd08e9e874..966cded33d5 100644 --- a/polkadot/node/network/bitfield-distribution/src/lib.rs +++ b/polkadot/node/network/bitfield-distribution/src/lib.rs @@ -310,7 +310,7 @@ async fn relay_message<Context>( where Context: SubsystemContext<Message = BitfieldDistributionMessage>, { - let span = jaeger::hash_span(&message.relay_parent, "relay_msg"); + let span = jaeger::hash_span(&message.relay_parent, "relay-msg"); let _span = span.child("provisionable"); // notify the overseer about a new and valid signed bitfield @@ -327,7 +327,7 @@ where drop(_span); - let _span = span.child("interested peers"); + let _span = span.child("interested-peers"); // pass on the bitfield distribution to all interested peers let interested_peers = peer_views .iter() -- GitLab