pub struct SpanBuilder {
pub trace_id: Option<TraceId>,
pub span_id: Option<SpanId>,
pub span_kind: Option<SpanKind>,
pub name: Cow<'static, str>,
pub start_time: Option<SystemTime>,
pub end_time: Option<SystemTime>,
pub attributes: Option<Vec<KeyValue>>,
pub events: Option<Vec<Event>>,
pub links: Option<Vec<Link>>,
pub status_code: Option<StatusCode>,
pub status_message: Option<Cow<'static, str>>,
pub sampling_result: Option<SamplingResult>,
}
Available on crate feature
trace
only.Expand description
SpanBuilder
allows span attributes to be configured before the span
has started.
use opentelemetry::{
global,
trace::{TracerProvider, SpanBuilder, SpanKind, Tracer},
};
let tracer = global::tracer("example-tracer");
// The builder can be used to create a span directly with the tracer
let _span = tracer.build(SpanBuilder {
name: "example-span-name".into(),
span_kind: Some(SpanKind::Server),
..Default::default()
});
// Or used with builder pattern
let _span = tracer
.span_builder("example-span-name")
.with_kind(SpanKind::Server)
.start(&tracer);
Fields§
§trace_id: Option<TraceId>
Trace id, useful for integrations with external tracing systems.
span_id: Option<SpanId>
Span id, useful for integrations with external tracing systems.
span_kind: Option<SpanKind>
Span kind
name: Cow<'static, str>
Span name
start_time: Option<SystemTime>
Span start time
end_time: Option<SystemTime>
Span end time
attributes: Option<Vec<KeyValue>>
Span attributes
events: Option<Vec<Event>>
Span events
links: Option<Vec<Link>>
Span Links
status_code: Option<StatusCode>
Span status code
status_message: Option<Cow<'static, str>>
Span status message
sampling_result: Option<SamplingResult>
Sampling result
Implementations§
Source§impl SpanBuilder
SpanBuilder methods
impl SpanBuilder
SpanBuilder methods
Sourcepub fn from_name<T: Into<Cow<'static, str>>>(name: T) -> Self
pub fn from_name<T: Into<Cow<'static, str>>>(name: T) -> Self
Create a new span builder from a span name
Sourcepub fn with_trace_id(self, trace_id: TraceId) -> Self
pub fn with_trace_id(self, trace_id: TraceId) -> Self
Specify trace id to use if no parent context exists
Sourcepub fn with_span_id(self, span_id: SpanId) -> Self
pub fn with_span_id(self, span_id: SpanId) -> Self
Assign span id
Sourcepub fn with_start_time<T: Into<SystemTime>>(self, start_time: T) -> Self
pub fn with_start_time<T: Into<SystemTime>>(self, start_time: T) -> Self
Assign span start time
Sourcepub fn with_end_time<T: Into<SystemTime>>(self, end_time: T) -> Self
pub fn with_end_time<T: Into<SystemTime>>(self, end_time: T) -> Self
Assign span end time
Sourcepub fn with_attributes(self, attributes: Vec<KeyValue>) -> Self
pub fn with_attributes(self, attributes: Vec<KeyValue>) -> Self
Assign span attributes
Sourcepub fn with_events(self, events: Vec<Event>) -> Self
pub fn with_events(self, events: Vec<Event>) -> Self
Assign events
Sourcepub fn with_links(self, links: Vec<Link>) -> Self
pub fn with_links(self, links: Vec<Link>) -> Self
Assign links
Sourcepub fn with_status_code(self, code: StatusCode) -> Self
pub fn with_status_code(self, code: StatusCode) -> Self
Assign status code
Sourcepub fn with_status_message<T: Into<Cow<'static, str>>>(self, message: T) -> Self
pub fn with_status_message<T: Into<Cow<'static, str>>>(self, message: T) -> Self
Assign status message
Sourcepub fn with_sampling_result(self, sampling_result: SamplingResult) -> Self
pub fn with_sampling_result(self, sampling_result: SamplingResult) -> Self
Assign sampling result
Trait Implementations§
Source§impl Clone for SpanBuilder
impl Clone for SpanBuilder
Source§fn clone(&self) -> SpanBuilder
fn clone(&self) -> SpanBuilder
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for SpanBuilder
impl Debug for SpanBuilder
Source§impl Default for SpanBuilder
impl Default for SpanBuilder
Source§fn default() -> SpanBuilder
fn default() -> SpanBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SpanBuilder
impl RefUnwindSafe for SpanBuilder
impl Send for SpanBuilder
impl Sync for SpanBuilder
impl Unpin for SpanBuilder
impl UnwindSafe for SpanBuilder
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Available on crate feature
trace
only.Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Available on crate feature
trace
only.