pub struct HttpTracerProviderBuilder<C: HttpClient = StdoutClient, I: IdGenerator = RandomIdGenerator, P: TextMapPropagator = TraceContextPropagator> { /* private fields */ }Expand description
A type-safe builder for configuring and initializing a TracerProvider.
Implementations§
Source§impl<C, I, P> HttpTracerProviderBuilder<C, I, P>where
C: HttpClient + 'static,
I: IdGenerator + Send + Sync + 'static,
P: TextMapPropagator + Send + Sync + 'static,
impl<C, I, P> HttpTracerProviderBuilder<C, I, P>where
C: HttpClient + 'static,
I: IdGenerator + Send + Sync + 'static,
P: TextMapPropagator + Send + Sync + 'static,
Sourcepub fn new() -> HttpTracerProviderBuilder<StdoutClient, RandomIdGenerator, TraceContextPropagator>
pub fn new() -> HttpTracerProviderBuilder<StdoutClient, RandomIdGenerator, TraceContextPropagator>
Creates a new HttpTracerProviderBuilder with default settings.
The default exporter type is determined by the LAMBDA_OTEL_SPAN_PROCESSOR environment variable:
- “batch” - Uses batch span processor
- “simple” - Uses simple span processor (default)
- Any other value will default to simple span processor with a warning
§Examples
use lambda_otel_utils::HttpTracerProviderBuilder;
use otlp_stdout_client::StdoutClient;
use opentelemetry_sdk::propagation::TraceContextPropagator;
use opentelemetry_sdk::trace::RandomIdGenerator;
let builder = HttpTracerProviderBuilder::default();Sourcepub fn with_stdout_client(self) -> HttpTracerProviderBuilder<StdoutClient, I, P>
pub fn with_stdout_client(self) -> HttpTracerProviderBuilder<StdoutClient, I, P>
Configures the builder to use a stdout client for exporting traces.
§Examples
use lambda_otel_utils::HttpTracerProviderBuilder;
let builder = HttpTracerProviderBuilder::default()
.with_stdout_client();Sourcepub fn with_http_client<NewC>(
self,
client: NewC,
) -> HttpTracerProviderBuilder<NewC, I, P>where
NewC: HttpClient + 'static,
pub fn with_http_client<NewC>(
self,
client: NewC,
) -> HttpTracerProviderBuilder<NewC, I, P>where
NewC: HttpClient + 'static,
Sets a custom HTTP client for exporting traces.
§Examples
use lambda_otel_utils::HttpTracerProviderBuilder;
use reqwest::Client;
use opentelemetry_sdk::propagation::TraceContextPropagator;
use opentelemetry_sdk::trace::RandomIdGenerator;
let client = Client::new();
let builder = HttpTracerProviderBuilder::default()
.with_http_client(client);Sourcepub fn with_text_map_propagator<NewP>(
self,
propagator: NewP,
) -> HttpTracerProviderBuilder<C, I, NewP>
pub fn with_text_map_propagator<NewP>( self, propagator: NewP, ) -> HttpTracerProviderBuilder<C, I, NewP>
Adds a custom text map propagator.
§Examples
use lambda_otel_utils::HttpTracerProviderBuilder;
use opentelemetry_sdk::propagation::TraceContextPropagator;
let builder = HttpTracerProviderBuilder::default()
.with_text_map_propagator(TraceContextPropagator::new());Sourcepub fn with_default_text_map_propagator(self) -> Self
pub fn with_default_text_map_propagator(self) -> Self
Adds the default text map propagator (TraceContextPropagator).
§Examples
use lambda_otel_utils::HttpTracerProviderBuilder;
let builder = HttpTracerProviderBuilder::default()
.with_default_text_map_propagator();Sourcepub fn with_xray_text_map_propagator(self) -> Self
pub fn with_xray_text_map_propagator(self) -> Self
Adds the XRay text map propagator.
§Examples
use lambda_otel_utils::HttpTracerProviderBuilder;
let builder = HttpTracerProviderBuilder::default()
.with_xray_text_map_propagator();Sourcepub fn with_id_generator<NewI>(
self,
id_generator: NewI,
) -> HttpTracerProviderBuilder<C, NewI, P>
pub fn with_id_generator<NewI>( self, id_generator: NewI, ) -> HttpTracerProviderBuilder<C, NewI, P>
Sets a custom ID generator.
§Examples
use lambda_otel_utils::HttpTracerProviderBuilder;
use opentelemetry_sdk::trace::RandomIdGenerator;
let builder = HttpTracerProviderBuilder::default()
.with_id_generator(RandomIdGenerator::default());Sourcepub fn with_default_id_generator(
self,
) -> HttpTracerProviderBuilder<C, RandomIdGenerator, P>
pub fn with_default_id_generator( self, ) -> HttpTracerProviderBuilder<C, RandomIdGenerator, P>
Sets the default ID generator (RandomIdGenerator).
§Examples
use lambda_otel_utils::HttpTracerProviderBuilder;
let builder = HttpTracerProviderBuilder::default()
.with_default_id_generator();Sourcepub fn with_xray_id_generator(
self,
) -> HttpTracerProviderBuilder<C, XrayIdGenerator, P>
pub fn with_xray_id_generator( self, ) -> HttpTracerProviderBuilder<C, XrayIdGenerator, P>
Sets the XRay ID generator.
§Examples
use lambda_otel_utils::HttpTracerProviderBuilder;
let builder = HttpTracerProviderBuilder::default()
.with_xray_id_generator();Sourcepub fn with_simple_exporter(self) -> Self
pub fn with_simple_exporter(self) -> Self
Configures the builder to use a simple exporter.
§Examples
use lambda_otel_utils::HttpTracerProviderBuilder;
let builder = HttpTracerProviderBuilder::default()
.with_simple_exporter();Sourcepub fn with_batch_exporter(self) -> Self
pub fn with_batch_exporter(self) -> Self
Configures the builder to use a batch exporter.
§Examples
use lambda_otel_utils::HttpTracerProviderBuilder;
let builder = HttpTracerProviderBuilder::default()
.with_batch_exporter();Sourcepub fn enable_global(self, set_global: bool) -> Self
pub fn enable_global(self, set_global: bool) -> Self
Enables or disables global installation of the tracer provider.
§Examples
use lambda_otel_utils::HttpTracerProviderBuilder;
let builder = HttpTracerProviderBuilder::default()
.enable_global(true);Sourcepub fn build(self) -> Result<SdkTracerProvider, BuilderError>
pub fn build(self) -> Result<SdkTracerProvider, BuilderError>
Builds the TracerProvider with the configured settings.
§Errors
Returns a BuilderError if the exporter fails to build
Trait Implementations§
Source§impl Default for HttpTracerProviderBuilder<StdoutClient, RandomIdGenerator, TraceContextPropagator>
Provides a default implementation for HttpTracerProviderBuilder.
impl Default for HttpTracerProviderBuilder<StdoutClient, RandomIdGenerator, TraceContextPropagator>
Provides a default implementation for HttpTracerProviderBuilder.
This implementation creates a new HttpTracerProviderBuilder with default settings
by calling the new() method.
§Examples
use lambda_otel_utils::HttpTracerProviderBuilder;
let default_builder = HttpTracerProviderBuilder::default();