pub struct OpenTelemetrySubscriberBuilder { /* private fields */ }
Expand description
A builder for configuring and creating a tracing subscriber with OpenTelemetry support.
This builder provides a flexible way to configure various aspects of the tracing subscriber, including OpenTelemetry integration, environment filters, and JSON formatting.
§Examples
use lambda_otel_utils::{
OpenTelemetrySubscriberBuilder,
HttpTracerProviderBuilder,
HttpMeterProviderBuilder
};
use std::time::Duration;
let tracer_provider = HttpTracerProviderBuilder::default()
.with_stdout_client()
.build()?;
let meter_provider = HttpMeterProviderBuilder::default()
.with_stdout_client()
.with_meter_name("my-service")
.with_export_interval(Duration::from_secs(30))
.build()?;
OpenTelemetrySubscriberBuilder::new()
.with_tracer_provider(tracer_provider)
.with_meter_provider(meter_provider)
.with_service_name("my-service")
.with_env_filter(true)
.with_json_format(true)
.init()?;
Implementations§
Source§impl OpenTelemetrySubscriberBuilder
impl OpenTelemetrySubscriberBuilder
Sourcepub fn with_tracer_provider(self, provider: SdkTracerProvider) -> Self
pub fn with_tracer_provider(self, provider: SdkTracerProvider) -> Self
Sets the tracer provider for the subscriber.
Sourcepub fn with_meter_provider(self, provider: SdkMeterProvider) -> Self
pub fn with_meter_provider(self, provider: SdkMeterProvider) -> Self
Sets the meter provider for the subscriber.
Sourcepub fn with_service_name(self, name: &'static str) -> Self
pub fn with_service_name(self, name: &'static str) -> Self
Sets the service name for the subscriber.
Sourcepub fn with_env_filter(self, enabled: bool) -> Self
pub fn with_env_filter(self, enabled: bool) -> Self
Enables or disables the environment filter.
When enabled, the subscriber will use the RUST_LOG
environment variable
to configure logging levels.
Sourcepub fn with_env_filter_string(self, filter: impl Into<String>) -> Self
pub fn with_env_filter_string(self, filter: impl Into<String>) -> Self
Sets a custom string for the environment filter.
This allows specifying a filter directive string directly instead of using
the RUST_LOG
environment variable.
§Examples
use lambda_otel_utils::OpenTelemetrySubscriberBuilder;
OpenTelemetrySubscriberBuilder::new()
.with_env_filter_string("info,my_crate=debug")
.init().unwrap();
Sourcepub fn with_json_format(self, enabled: bool) -> Self
pub fn with_json_format(self, enabled: bool) -> Self
Enables or disables JSON formatting for log output.
Trait Implementations§
Source§impl Default for OpenTelemetrySubscriberBuilder
impl Default for OpenTelemetrySubscriberBuilder
Source§fn default() -> OpenTelemetrySubscriberBuilder
fn default() -> OpenTelemetrySubscriberBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for OpenTelemetrySubscriberBuilder
impl !RefUnwindSafe for OpenTelemetrySubscriberBuilder
impl Send for OpenTelemetrySubscriberBuilder
impl Sync for OpenTelemetrySubscriberBuilder
impl Unpin for OpenTelemetrySubscriberBuilder
impl !UnwindSafe for OpenTelemetrySubscriberBuilder
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