logo
pub struct SpanBuilder {
Show 13 fields pub parent_context: Context, 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>,
}
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

parent_context: Context

Parent Context

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

SpanBuilder methods

Create a new span builder from a span name

Assign parent context

Specify trace id to use if no parent context exists

Assign span id

Assign span kind

Assign span start time

Assign span end time

Assign span attributes

Assign events

Assign links

Assign status code

Assign status message

Assign sampling result

Builds a span with the given tracer from this configuration.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.