Struct OpenTelemetrySubscriberBuilder

Source
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

Source

pub fn new() -> Self

Creates a new builder instance with default settings.

Source

pub fn with_tracer_provider(self, provider: SdkTracerProvider) -> Self

Sets the tracer provider for the subscriber.

Source

pub fn with_meter_provider(self, provider: SdkMeterProvider) -> Self

Sets the meter provider for the subscriber.

Source

pub fn with_service_name(self, name: &'static str) -> Self

Sets the service name for the subscriber.

Source

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.

Source

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();
Source

pub fn with_json_format(self, enabled: bool) -> Self

Enables or disables JSON formatting for log output.

Source

pub fn init(self) -> Result<(), Box<dyn Error + Send + Sync + 'static>>

Builds and sets the global default subscriber.

§Returns

Returns Ok(()) if the subscriber was successfully set as the global default, or an error if something went wrong.

Trait Implementations§

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,