pub enum Expand {
Traces,
Peers,
Around(i64),
}Expand description
One step of a correlation walk.
Three, not section 7.3’s seven. by_trace and by_span are what a trace_id
query already does, by_link and by_exemplar are edges the row itself
carries out to the caller, and an expander with no caller is an expander
with no test.
Variants§
Traces
Widen the window to the full extent of the traces already in the frame.
A trace id says nothing about when, so a window taken from the row that
matched usually cuts the trace in half — the log line that started the
investigation is at the end of a request whose first span is 800 ms
earlier. This is the fix, and it is why Around is not a substitute:
the extent is measured, not guessed at.
Peers
Widen entities to everything that took part in the frame’s traces.
The service map, for one investigation rather than the whole store: which other services were involved in the traces this one took part in. Two hops over data already in the block, with no service map to maintain and no metrics-generator sidecar. Requires traces — with none, “everything that shared a trace with nothing” is every entity there is, and returning that would look like an answer.
Around(i64)
Widen the window by ±d nanoseconds, keeping everything else.
Trait Implementations§
impl Copy for Expand
impl Eq for Expand
impl StructuralPartialEq for Expand
Auto Trait Implementations§
impl Freeze for Expand
impl RefUnwindSafe for Expand
impl Send for Expand
impl Sync for Expand
impl Unpin for Expand
impl UnsafeUnpin for Expand
impl UnwindSafe for Expand
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].