pub struct TelemetryConfigBuilder<S: State = Empty> { /* private fields */ }Expand description
Use builder syntax to set the inputs and finish with build().
Implementations§
Source§impl<S: State> TelemetryConfigBuilder<S>
impl<S: State> TelemetryConfigBuilder<S>
Sourcepub fn build(self) -> TelemetryConfigwhere
S: IsComplete,
pub fn build(self) -> TelemetryConfigwhere
S: IsComplete,
Finish building and return the requested object
Sourcepub fn enable_fmt_layer(
self,
value: bool,
) -> TelemetryConfigBuilder<SetEnableFmtLayer<S>>where
S::EnableFmtLayer: IsUnset,
pub fn enable_fmt_layer(
self,
value: bool,
) -> TelemetryConfigBuilder<SetEnableFmtLayer<S>>where
S::EnableFmtLayer: IsUnset,
Optional (Some / Option setters). Default: false.
Enable console output for debugging.
When enabled, spans and events will be printed to the console in addition to being exported through the configured span processors. This is useful for debugging but adds overhead and should be disabled in production.
Default: false
Sourcepub fn maybe_enable_fmt_layer(
self,
value: Option<bool>,
) -> TelemetryConfigBuilder<SetEnableFmtLayer<S>>where
S::EnableFmtLayer: IsUnset,
pub fn maybe_enable_fmt_layer(
self,
value: Option<bool>,
) -> TelemetryConfigBuilder<SetEnableFmtLayer<S>>where
S::EnableFmtLayer: IsUnset,
Optional (Some / Option setters). Default: false.
Enable console output for debugging.
When enabled, spans and events will be printed to the console in addition to being exported through the configured span processors. This is useful for debugging but adds overhead and should be disabled in production.
Default: false
Sourcepub fn set_global_provider(
self,
value: bool,
) -> TelemetryConfigBuilder<SetSetGlobalProvider<S>>where
S::SetGlobalProvider: IsUnset,
pub fn set_global_provider(
self,
value: bool,
) -> TelemetryConfigBuilder<SetSetGlobalProvider<S>>where
S::SetGlobalProvider: IsUnset,
Optional (Some / Option setters). Default: true.
Set this provider as the global OpenTelemetry provider.
When enabled, the provider will be registered as the global provider for the OpenTelemetry API. This allows using the global tracer API without explicitly passing around the provider.
Default: true
Sourcepub fn maybe_set_global_provider(
self,
value: Option<bool>,
) -> TelemetryConfigBuilder<SetSetGlobalProvider<S>>where
S::SetGlobalProvider: IsUnset,
pub fn maybe_set_global_provider(
self,
value: Option<bool>,
) -> TelemetryConfigBuilder<SetSetGlobalProvider<S>>where
S::SetGlobalProvider: IsUnset,
Optional (Some / Option setters). Default: true.
Set this provider as the global OpenTelemetry provider.
When enabled, the provider will be registered as the global provider for the OpenTelemetry API. This allows using the global tracer API without explicitly passing around the provider.
Default: true
Sourcepub fn resource(self, value: Resource) -> TelemetryConfigBuilder<SetResource<S>>where
S::Resource: IsUnset,
pub fn resource(self, value: Resource) -> TelemetryConfigBuilder<SetResource<S>>where
S::Resource: IsUnset,
Optional (Some / Option setters).
Custom resource attributes for all spans.
If not provided, resource attributes will be automatically detected from the Lambda environment. Custom resources will override any automatically detected attributes with the same keys.
Default: None (auto-detected from Lambda environment)
Sourcepub fn maybe_resource(
self,
value: Option<Resource>,
) -> TelemetryConfigBuilder<SetResource<S>>where
S::Resource: IsUnset,
pub fn maybe_resource(
self,
value: Option<Resource>,
) -> TelemetryConfigBuilder<SetResource<S>>where
S::Resource: IsUnset,
Optional (Some / Option setters).
Custom resource attributes for all spans.
If not provided, resource attributes will be automatically detected from the Lambda environment. Custom resources will override any automatically detected attributes with the same keys.
Default: None (auto-detected from Lambda environment)
Sourcepub fn env_var_name(
self,
value: String,
) -> TelemetryConfigBuilder<SetEnvVarName<S>>where
S::EnvVarName: IsUnset,
pub fn env_var_name(
self,
value: String,
) -> TelemetryConfigBuilder<SetEnvVarName<S>>where
S::EnvVarName: IsUnset,
Optional (Some / Option setters).
Environment variable name to use for log level configuration.
This field specifies which environment variable should be used to configure
the tracing subscriber’s log level filter. If not specified, the system will
first check for RUST_LOG and then fall back to AWS_LAMBDA_LOG_LEVEL.
Default: None (uses RUST_LOG or AWS_LAMBDA_LOG_LEVEL)
Sourcepub fn maybe_env_var_name(
self,
value: Option<String>,
) -> TelemetryConfigBuilder<SetEnvVarName<S>>where
S::EnvVarName: IsUnset,
pub fn maybe_env_var_name(
self,
value: Option<String>,
) -> TelemetryConfigBuilder<SetEnvVarName<S>>where
S::EnvVarName: IsUnset,
Optional (Some / Option setters).
Environment variable name to use for log level configuration.
This field specifies which environment variable should be used to configure
the tracing subscriber’s log level filter. If not specified, the system will
first check for RUST_LOG and then fall back to AWS_LAMBDA_LOG_LEVEL.
Default: None (uses RUST_LOG or AWS_LAMBDA_LOG_LEVEL)
Source§impl<S: State> TelemetryConfigBuilder<S>
Builder methods for adding span processors and other configuration
impl<S: State> TelemetryConfigBuilder<S>
Builder methods for adding span processors and other configuration
Sourcepub fn with_span_processor<T>(self, processor: T) -> Selfwhere
T: SpanProcessor + 'static,
pub fn with_span_processor<T>(self, processor: T) -> Selfwhere
T: SpanProcessor + 'static,
Add a span processor to the tracer provider.
This method allows adding custom span processors for trace data processing. Multiple processors can be added by calling this method multiple times.
§Arguments
processor- A span processor implementing theSpanProcessortrait
§Examples
use lambda_otel_lite::TelemetryConfig;
use opentelemetry_sdk::trace::SimpleSpanProcessor;
use otlp_stdout_span_exporter::OtlpStdoutSpanExporter;
// Only use builder when adding custom processors
let config = TelemetryConfig::builder()
.with_span_processor(SimpleSpanProcessor::new(
Box::new(OtlpStdoutSpanExporter::default())
))
.build();Sourcepub fn with_propagator<T>(self, propagator: T) -> Self
pub fn with_propagator<T>(self, propagator: T) -> Self
Add a propagator to the list of propagators.
Multiple propagators can be added and will be combined into a composite propagator. The default propagator is TraceContextPropagator.
§Arguments
propagator- A propagator implementing theTextMapPropagatortrait
§Examples
use lambda_otel_lite::TelemetryConfig;
use opentelemetry_sdk::propagation::BaggagePropagator;
let config = TelemetryConfig::builder()
.with_propagator(BaggagePropagator::new())
.build();Auto Trait Implementations§
impl<S> Freeze for TelemetryConfigBuilder<S>
impl<S = Empty> !RefUnwindSafe for TelemetryConfigBuilder<S>
impl<S> Send for TelemetryConfigBuilder<S>
impl<S> Sync for TelemetryConfigBuilder<S>
impl<S> Unpin for TelemetryConfigBuilder<S>
impl<S = Empty> !UnwindSafe for TelemetryConfigBuilder<S>
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
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request