#[non_exhaustive]pub enum SpanKind {
Unspecified,
Internal,
Server,
Client,
Producer,
Consumer,
UnknownValue(UnknownValue),
}Expand description
Type of span. Can be used to specify additional relationships between spans in addition to a parent/child relationship.
§Working with unknown values
This enum is defined as #[non_exhaustive] because Google Cloud may add
additional enum variants at any time. Adding new variants is not considered
a breaking change. Applications should write their code in anticipation of:
- New values appearing in future releases of the client library, and
- New values received dynamically, without application changes.
Please consult the Working with enums section in the user guide for some guidelines.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unspecified
Unspecified. Do NOT use as default. Implementations MAY assume SpanKind.INTERNAL to be default.
Internal
Indicates that the span is used internally. Default value.
Server
Indicates that the span covers server-side handling of an RPC or other remote network request.
Client
Indicates that the span covers the client-side wrapper around an RPC or other remote request.
Producer
Indicates that the span describes producer sending a message to a broker. Unlike client and server, there is no direct critical path latency relationship between producer and consumer spans (e.g. publishing a message to a pubsub service).
Consumer
Indicates that the span describes consumer receiving a message from a broker. Unlike client and server, there is no direct critical path latency relationship between producer and consumer spans (e.g. receiving a message from a pubsub service subscription).
UnknownValue(UnknownValue)
If set, the enum was initialized with an unknown value.
Applications can examine the value using SpanKind::value or SpanKind::name.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for SpanKind
impl<'de> Deserialize<'de> for SpanKind
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
impl StructuralPartialEq for SpanKind
Auto Trait Implementations§
impl Freeze for SpanKind
impl RefUnwindSafe for SpanKind
impl Send for SpanKind
impl Sync for SpanKind
impl Unpin for SpanKind
impl UnwindSafe for SpanKind
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.