Struct opentelemetry_sdk::trace::Span
source · pub struct Span { /* private fields */ }
Expand description
Single operation within a trace.
Implementations§
Trait Implementations§
source§impl Span for Span
impl Span for Span
source§fn add_event_with_timestamp<T>(
&mut self,
name: T,
timestamp: SystemTime,
attributes: Vec<KeyValue>,
)
fn add_event_with_timestamp<T>( &mut self, name: T, timestamp: SystemTime, attributes: Vec<KeyValue>, )
Records events at a specific time in the context of a given Span
.
Note that the OpenTelemetry project documents certain “standard event names and keys” which have prescribed semantic meanings.
source§fn span_context(&self) -> &SpanContext
fn span_context(&self) -> &SpanContext
Returns the SpanContext
for the given Span
.
source§fn is_recording(&self) -> bool
fn is_recording(&self) -> bool
Returns true if this Span
is recording information like events with the add_event
operation, attributes using set_attributes
, status with set_status
, etc.
Always returns false after span end
.
source§fn set_attribute(&mut self, attribute: KeyValue)
fn set_attribute(&mut self, attribute: KeyValue)
Sets a single Attribute
where the attribute properties are passed as arguments.
Note that the OpenTelemetry project documents certain “standard attributes” that have prescribed semantic meanings.
source§fn set_status(&mut self, status: Status)
fn set_status(&mut self, status: Status)
Sets the status of this Span
.
If used, this will override the default span status, which is Status::Unset
.
source§fn update_name<T>(&mut self, new_name: T)
fn update_name<T>(&mut self, new_name: T)
Updates the Span
’s name.
source§fn add_link(&mut self, span_context: SpanContext, attributes: Vec<KeyValue>)
fn add_link(&mut self, span_context: SpanContext, attributes: Vec<KeyValue>)
Add Link
to this Span
source§fn end_with_timestamp(&mut self, timestamp: SystemTime)
fn end_with_timestamp(&mut self, timestamp: SystemTime)
Finishes the span with given timestamp.
source§fn add_event<T>(&mut self, name: T, attributes: Vec<KeyValue>)
fn add_event<T>(&mut self, name: T, attributes: Vec<KeyValue>)
source§fn record_error(&mut self, err: &dyn Error)
fn record_error(&mut self, err: &dyn Error)
source§fn set_attributes(&mut self, attributes: impl IntoIterator<Item = KeyValue>)
fn set_attributes(&mut self, attributes: impl IntoIterator<Item = KeyValue>)
Auto Trait Implementations§
impl Freeze for Span
impl !RefUnwindSafe for Span
impl Send for Span
impl Sync for Span
impl Unpin for Span
impl !UnwindSafe for Span
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> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> ObjectSafeSpan for Twhere
T: Span,
impl<T> ObjectSafeSpan for Twhere
T: Span,
source§fn add_event_with_timestamp(
&mut self,
name: Cow<'static, str>,
timestamp: SystemTime,
attributes: Vec<KeyValue>,
)
fn add_event_with_timestamp( &mut self, name: Cow<'static, str>, timestamp: SystemTime, attributes: Vec<KeyValue>, )
Span
. Read moresource§fn span_context(&self) -> &SpanContext
fn span_context(&self) -> &SpanContext
SpanContext
for the given Span
. The returned value may be used even after
the Span is finished. The returned value MUST be the same for the entire
Span` lifetime.source§fn is_recording(&self) -> bool
fn is_recording(&self) -> bool
Span
is recording information like events with the add_event
operation, attributes using set_attributes
, status with set_status
, etc. Read moresource§fn set_attribute(&mut self, attribute: KeyValue)
fn set_attribute(&mut self, attribute: KeyValue)
Attribute
where the attribute properties are passed
as arguments. To avoid extra allocations some implementations may offer a separate API for
each of the possible value types. Read moresource§fn set_status(&mut self, status: Status)
fn set_status(&mut self, status: Status)
source§fn update_name(&mut self, new_name: Cow<'static, str>)
fn update_name(&mut self, new_name: Cow<'static, str>)
Span
’s name. After this update, any sampling behavior based on the
name will depend on the implementation. Read moresource§fn add_link(&mut self, span_context: SpanContext, attributes: Vec<KeyValue>)
fn add_link(&mut self, span_context: SpanContext, attributes: Vec<KeyValue>)
source§fn end_with_timestamp(&mut self, timestamp: SystemTime)
fn end_with_timestamp(&mut self, timestamp: SystemTime)
Span
with given timestamp Read more