Skip to main content

Span

pub struct Span {
Show 14 fields pub name: String, pub span_id: String, pub parent_span_id: String, pub display_name: Option<TruncatableString>, pub start_time: Option<Timestamp>, pub end_time: Option<Timestamp>, pub attributes: Option<Attributes>, pub stack_trace: Option<StackTrace>, pub time_events: Option<TimeEvents>, pub links: Option<Links>, pub status: Option<Status>, pub same_process_as_parent_span: Option<bool>, pub child_span_count: Option<i32>, pub span_kind: i32,
}
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

Expand description

A span represents a single operation within a trace. Spans can be nested to form a trace tree. Often, a trace contains a root span that describes the end-to-end latency, and one or more subspans for its sub-operations.

A trace can also contain multiple root spans, or none at all. Spans do not need to be contiguous. There might be gaps or overlaps between spans in a trace.

Fieldsยง

ยงname: String
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

Required. The resource name of the span in the following format:

  • projects/\[PROJECT_ID\]/traces/\[TRACE_ID\]/spans/\[SPAN_ID\]

\[TRACE_ID\] is a unique identifier for a trace within a project; it is a 32-character hexadecimal encoding of a 16-byte array. It should not be zero.

\[SPAN_ID\] is a unique identifier for a span within a trace; it is a 16-character hexadecimal encoding of an 8-byte array. It should not be zero. .

ยงspan_id: String
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

Required. The \[SPAN_ID\] portion of the spanโ€™s resource name.

ยงparent_span_id: String
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

The \[SPAN_ID\] of this spanโ€™s parent span. If this is a root span, then this field must be empty.

ยงdisplay_name: Option<TruncatableString>
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

Required. A description of the spanโ€™s operation (up to 128 bytes). Cloud Trace displays the description in the Cloud console. For example, the display name can be a qualified method name or a file name and a line number where the operation is called. A best practice is to use the same display name within an application and at the same call point. This makes it easier to correlate spans in different traces.

ยงstart_time: Option<Timestamp>
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

Required. The start time of the span. On the client side, this is the time kept by the local machine where the span execution starts. On the server side, this is the time when the serverโ€™s application handler starts running.

ยงend_time: Option<Timestamp>
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

Required. The end time of the span. On the client side, this is the time kept by the local machine where the span execution ends. On the server side, this is the time when the server application handler stops running.

ยงattributes: Option<Attributes>
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

A set of attributes on the span. You can have up to 32 attributes per span.

ยงstack_trace: Option<StackTrace>
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

Stack trace captured at the start of the span.

ยงtime_events: Option<TimeEvents>
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

A set of time events. You can have up to 32 annotations and 128 message events per span.

ยงlinks: Option<Links>
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

Links associated with the span. You can have up to 128 links per Span.

ยงstatus: Option<Status>
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

Optional. The final status for this span.

ยงsame_process_as_parent_span: Option<bool>
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

Optional. Set this parameter to indicate whether this span is in the same process as its parent. If you do not set this parameter, Trace is unable to take advantage of this helpful information.

ยงchild_span_count: Option<i32>
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

Optional. The number of child spans that were generated while this span was active. If set, allows implementation to detect missing child spans.

ยงspan_kind: i32
๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

Optional. Distinguishes between spans generated in a particular context. For example, two spans with the same name may be distinguished using CLIENT (caller) and SERVER (callee) to identify an RPC call.

Implementationsยง

Sourceยง

impl Span

Source

pub fn span_kind(&self) -> SpanKind

๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

Returns the enum value of span_kind, or the default if the field is set to an invalid enum value.

Source

pub fn set_span_kind(&mut self, value: SpanKind)

๐Ÿ‘ŽDeprecated since 0.30.0:

The opentelemetry-stackdriver crate is deprecated and will be removed from opentelemetry-rust-contrib. Migrate to OTLP (Google Cloud supports OTLP ingestion, and the OpenTelemetry Collector ships a googlecloud exporter). See https://github.com/open-telemetry/opentelemetry-rust-contrib/issues/609 for context.

Sets span_kind to the provided enum value.

Trait Implementationsยง

Sourceยง

impl Clone for Span

Sourceยง

fn clone(&self) -> Span

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) ยท Sourceยง

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Sourceยง

impl Debug for Span

Sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Sourceยง

impl Default for Span

Sourceยง

fn default() -> Self

Returns the โ€œdefault valueโ€ for a type. Read more
Sourceยง

impl Message for Span

Sourceยง

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
Sourceยง

fn clear(&mut self)

Clears the message, resetting all fields to their default.
Sourceยง

fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message to a buffer. Read more
Sourceยง

fn encode_to_vec(&self) -> Vec<u8> โ“˜
where Self: Sized,

Encodes the message to a newly allocated buffer.
Sourceยง

fn encode_length_delimited( &self, buf: &mut impl BufMut, ) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
Sourceยง

fn encode_length_delimited_to_vec(&self) -> Vec<u8> โ“˜
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
Sourceยง

fn decode(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes an instance of the message from a buffer. Read more
Sourceยง

fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes a length-delimited instance of the message from the buffer.
Sourceยง

fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
Sourceยง

fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
Sourceยง

impl PartialEq for Span

Sourceยง

fn eq(&self, other: &Span) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Sourceยง

impl StructuralPartialEq for Span

Auto Trait Implementationsยง

Blanket Implementationsยง

Sourceยง

impl<T> Any for T
where T: 'static + ?Sized,

Sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Sourceยง

impl<T> Borrow<T> for T
where T: ?Sized,

Sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Sourceยง

impl<T> BorrowMut<T> for T
where T: ?Sized,

Sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Sourceยง

impl<T> CloneToUninit for T
where T: Clone,

Sourceยง

unsafe fn clone_to_uninit(&self, dest: *mut u8)

๐Ÿ”ฌThis is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Sourceยง

impl<T> ErasedDestructor for T
where T: 'static,

Sourceยง

impl<T> From<T> for T

Sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

Sourceยง

impl<T> FutureExt for T

Sourceยง

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Sourceยง

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Sourceยง

impl<T> Instrument for T

Sourceยง

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Sourceยง

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Sourceยง

impl<T, U> Into<U> for T
where U: From<T>,

Sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Sourceยง

impl<T> IntoRequest<T> for T

Sourceยง

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Sourceยง

impl<L> LayerExt<L> for L

Sourceยง

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.
Sourceยง

impl<T> MaybeSendSync for T

Sourceยง

impl<T> ToOwned for T
where T: Clone,

Sourceยง

type Owned = T

The resulting type after obtaining ownership.
Sourceยง

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Sourceยง

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Sourceยง

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
Sourceยง

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Sourceยง

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Sourceยง

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Sourceยง

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Sourceยง

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Sourceยง

fn vzip(self) -> V

Sourceยง

impl<T> WithSubscriber for T

Sourceยง

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Sourceยง

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more