Struct Span
pub struct Span { /* private fields */ }Expand description
Single operation within a trace.
Implementations§
§impl Span
impl Span
pub fn exported_data(&self) -> Option<SpanData>
pub fn exported_data(&self) -> Option<SpanData>
Convert information in this span into exporter::trace::SpanData.
This function copies all data from the current span, which will create a
overhead.
Trait Implementations§
§impl Span for Span
impl Span for Span
§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.
§fn span_context(&self) -> &SpanContext
fn span_context(&self) -> &SpanContext
Returns the SpanContext for the given Span.
§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.
§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.
§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.
§fn update_name<T>(&mut self, new_name: T)
fn update_name<T>(&mut self, new_name: T)
Updates the Span’s name.
§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
§fn end_with_timestamp(&mut self, timestamp: SystemTime)
fn end_with_timestamp(&mut self, timestamp: SystemTime)
Finishes the span with given timestamp.
§fn add_event<T>(&mut self, name: T, attributes: Vec<KeyValue>)
fn add_event<T>(&mut self, name: T, attributes: Vec<KeyValue>)
§fn record_error(&mut self, err: &dyn Error)
fn record_error(&mut self, err: &dyn Error)
§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 UnsafeUnpin for Span
impl !UnwindSafe for Span
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§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> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§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 rama_grpc::Request§impl<T> ObjectSafeSpan for Twhere
T: Span,
impl<T> ObjectSafeSpan for Twhere
T: Span,
§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 more§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.§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 more§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 more§fn set_status(&mut self, status: Status)
fn set_status(&mut self, status: Status)
§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 more§fn add_link(&mut self, span_context: SpanContext, attributes: Vec<KeyValue>)
fn add_link(&mut self, span_context: SpanContext, attributes: Vec<KeyValue>)
§fn end_with_timestamp(&mut self, timestamp: SystemTime)
fn end_with_timestamp(&mut self, timestamp: SystemTime)
Span with given timestamp Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more