struct MapView {
rows: Vec<(usize, Yaml)>,
unresolved: i64,
}Expand description
The service map as a call tree rather than a graph.
A terminal draws a tree well and a graph badly, and the tree is the reading that answers the question anyway: what calls what, and where does it start. One line per node, so every line is something Enter can act on — the same shape as the waterfall, which is the other tree in this UI.
Fields§
§rows: Vec<(usize, Yaml)>§unresolved: i64Implementations§
Source§impl MapView
impl MapView
Sourcefn new(y: &Yaml) -> MapView
fn new(y: &Yaml) -> MapView
Depth-first from entry, children by descending call volume.
Volume order rather than name order because the first thing anyone wants out of a service map is the hot path, and it should be the first thing they read. A service reachable by two paths is drawn under the first one reached and not again: a tree with the same subtree in it twice is a tree nobody can count spans off.
Auto Trait Implementations§
impl Freeze for MapView
impl RefUnwindSafe for MapView
impl Send for MapView
impl Sync for MapView
impl Unpin for MapView
impl UnsafeUnpin for MapView
impl UnwindSafe for MapView
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§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>
Wrap the input message
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>,
Applies the layer to a service and wraps it in [
Layered].