pub struct SpanBuilder {
pub span_kind: Option<SpanKind>,
pub name: Cow<'static, str>,
pub start_time: Option<SystemTime>,
pub attributes: Option<Vec<KeyValue>>,
pub events: Option<Vec<Event>>,
pub links: Option<Vec<Link>>,
}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§
§span_kind: Option<SpanKind>Span kind
name: Cow<'static, str>Span name
start_time: Option<SystemTime>Span start time
attributes: Option<Vec<KeyValue>>Span attributes that are provided at the span creation time. More attributes can be added afterwards. Providing duplicate keys will result in multiple attributes with the same key, as there is no de-duplication performed.
events: Option<Vec<Event>>Span events
links: Option<Vec<Link>>Span Links
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_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_attributes<I>(self, attributes: I) -> Selfwhere
I: IntoIterator<Item = KeyValue>,
pub fn with_attributes<I>(self, attributes: I) -> Selfwhere
I: IntoIterator<Item = KeyValue>,
Assign span attributes from an iterable. Providing duplicate keys will result in multiple attributes with the same key, as there is no de-duplication performed.
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
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 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
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 UnsafeUnpin 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