pub struct TracedHandlerOptions<T> {
pub name: Option<&'static str>,
pub event: Option<LambdaEvent<T>>,
pub kind: Option<String>,
pub attributes: Option<HashMap<String, String>>,
pub links: Option<Vec<Link>>,
pub parent_context: Option<Context>,
pub get_carrier: Option<Arc<dyn Fn(&Value) -> HashMap<String, String> + Send + Sync>>,
}Expand description
Options for configuring traced Lambda handlers.
This struct provides a builder-style interface for configuring how spans are created and attributed for Lambda function invocations. All fields are optional and have sensible defaults.
§Example
use lambda_otel_lite::TracedHandlerOptions;
use lambda_runtime::LambdaEvent;
use serde_json::Value;
let event = LambdaEvent::new(Value::Null, Default::default());
let options = TracedHandlerOptions::default()
.with_name("my-handler")
.with_event(event)
.with_kind("SERVER".to_string());Fields§
§name: Option<&'static str>Name of the span
event: Option<LambdaEvent<T>>Lambda event containing both payload and context
kind: Option<String>Optional span kind. Defaults to SERVER
attributes: Option<HashMap<String, String>>Optional custom attributes to add to the span
links: Option<Vec<Link>>Optional span links
parent_context: Option<Context>Optional parent context for trace propagation
get_carrier: Option<Arc<dyn Fn(&Value) -> HashMap<String, String> + Send + Sync>>Optional function to extract carrier from event for context propagation
Implementations§
Source§impl<T> TracedHandlerOptions<T>
impl<T> TracedHandlerOptions<T>
Sourcepub fn new(name: &'static str, event: LambdaEvent<T>) -> Self
pub fn new(name: &'static str, event: LambdaEvent<T>) -> Self
Create new options with required fields
Sourcepub fn with_event(self, event: LambdaEvent<T>) -> Self
pub fn with_event(self, event: LambdaEvent<T>) -> Self
Set the event
Sourcepub fn with_attributes(self, attributes: HashMap<String, String>) -> Self
pub fn with_attributes(self, attributes: HashMap<String, String>) -> Self
Set custom attributes
Sourcepub fn with_links(self, links: Vec<Link>) -> Self
pub fn with_links(self, links: Vec<Link>) -> Self
Set span links
Sourcepub fn with_parent_context(self, context: OtelContext) -> Self
pub fn with_parent_context(self, context: OtelContext) -> Self
Set parent context
Trait Implementations§
Source§impl<T: Clone> Clone for TracedHandlerOptions<T>
impl<T: Clone> Clone for TracedHandlerOptions<T>
Source§fn clone(&self) -> TracedHandlerOptions<T>
fn clone(&self) -> TracedHandlerOptions<T>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<T> Freeze for TracedHandlerOptions<T>where
T: Freeze,
impl<T> !RefUnwindSafe for TracedHandlerOptions<T>
impl<T> Send for TracedHandlerOptions<T>where
T: Send,
impl<T> Sync for TracedHandlerOptions<T>where
T: Sync,
impl<T> Unpin for TracedHandlerOptions<T>where
T: Unpin,
impl<T> !UnwindSafe for TracedHandlerOptions<T>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Wrap the input message
T in a tonic::Request