feat/jaeger: more spans, more stages (#2477)

* feat/jaeger: more spans, more stages

Stage numbers are still arbitrarily picked.

* feat/jaeger: additional spans

* chore/spellcheck: improve the dictionary

* fix/jaeger JaegerSpan -> jaeger::Span
This commit is contained in:
Bernhard Schuster
2021-02-19 15:19:43 +01:00
committed by GitHub
parent a5defa7c7f
commit 49c6aa9a76
22 changed files with 249 additions and 143 deletions
@@ -45,7 +45,7 @@ use polkadot_subsystem::messages::{
NetworkBridgeMessage, RuntimeApiMessage, RuntimeApiRequest, NetworkBridgeEvent
};
use polkadot_subsystem::{
jaeger, errors::{ChainApiError, RuntimeApiError}, PerLeafSpan,
jaeger, errors::{ChainApiError, RuntimeApiError}, PerLeafSpan, Stage,
ActiveLeavesUpdate, FromOverseer, OverseerSignal, SpawnedSubsystem, Subsystem, SubsystemContext, SubsystemError,
};
use std::collections::{HashMap, HashSet};
@@ -166,7 +166,7 @@ struct PerCandidate {
live_in: HashSet<Hash>,
/// A Jaeger span relating to this candidate.
span: jaeger::JaegerSpan,
span: jaeger::Span,
}
impl PerCandidate {
@@ -185,7 +185,7 @@ impl PerCandidate {
fn drop_span_after_own_availability(&mut self) {
if let Some(validator_index) = self.validator_index {
if self.message_vault.contains_key(&validator_index) {
self.span = jaeger::JaegerSpan::Disabled;
self.span = jaeger::Span::Disabled;
}
}
}
@@ -251,7 +251,7 @@ impl ProtocolState {
span: if validator_index.is_some() {
jaeger::candidate_hash_span(&receipt_hash, "pending-availability")
} else {
jaeger::JaegerSpan::Disabled
jaeger::Span::Disabled
},
})
} else {
@@ -262,7 +262,10 @@ impl ProtocolState {
};
// Create some span that will make it able to switch between the candidate and relay parent span.
let span = per_relay_parent.span.child_with_candidate("live-candidate", &receipt_hash);
let span = per_relay_parent.span.child_builder("live-candidate")
.with_candidate(&receipt_hash)
.with_stage(Stage::AvailabilityDistribution)
.build();
candidate_entry.span.add_follows_from(&span);
candidate_entry.live_in.insert(relay_parent);
}
@@ -59,7 +59,7 @@ fn make_per_candidate() -> PerCandidate {
validators: Vec::new(),
validator_index: None,
descriptor: Default::default(),
span: jaeger::JaegerSpan::Disabled,
span: jaeger::Span::Disabled,
}
}
@@ -1018,13 +1018,13 @@ fn clean_up_receipts_cache_unions_ancestors_and_view() {
state.per_relay_parent.insert(hash_a, PerRelayParent {
ancestors: vec![hash_b],
live_candidates: HashSet::new(),
span: PerLeafSpan::new(Arc::new(jaeger::JaegerSpan::Disabled), "test"),
span: PerLeafSpan::new(Arc::new(jaeger::Span::Disabled), "test"),
});
state.per_relay_parent.insert(hash_c, PerRelayParent {
ancestors: Vec::new(),
live_candidates: HashSet::new(),
span: PerLeafSpan::new(Arc::new(jaeger::JaegerSpan::Disabled), "test"),
span: PerLeafSpan::new(Arc::new(jaeger::Span::Disabled), "test"),
});
state.clean_up_live_under_cache();
@@ -1048,13 +1048,13 @@ fn remove_relay_parent_only_removes_per_candidate_if_final() {
state.per_relay_parent.insert(hash_a, PerRelayParent {
ancestors: vec![],
live_candidates: std::iter::once(candidate_hash_a).collect(),
span: PerLeafSpan::new(Arc::new(jaeger::JaegerSpan::Disabled), "test"),
span: PerLeafSpan::new(Arc::new(jaeger::Span::Disabled), "test"),
});
state.per_relay_parent.insert(hash_b, PerRelayParent {
ancestors: vec![],
live_candidates: std::iter::once(candidate_hash_a).collect(),
span: PerLeafSpan::new(Arc::new(jaeger::JaegerSpan::Disabled), "test"),
span: PerLeafSpan::new(Arc::new(jaeger::Span::Disabled), "test"),
});
state.per_candidate.insert(candidate_hash_a, {
@@ -1099,7 +1099,7 @@ fn add_relay_parent_includes_all_live_candidates() {
None,
candidates,
vec![ancestor_a],
PerLeafSpan::new(Arc::new(jaeger::JaegerSpan::Disabled), "test"),
PerLeafSpan::new(Arc::new(jaeger::Span::Disabled), "test"),
);
assert!(