pub struct AwsSpan { /* private fields */ }
Expand description
A wrapper around an OpenTelemetry span specifically designed for AWS operations.
This struct provides convenient methods for handling AWS-specific span attributes and status updates, particularly for recording request IDs and error handling.
Implementations§
Source§impl AwsSpan
impl AwsSpan
Sourcepub fn end<T, E>(self, aws_response: &Result<T, E>)
pub fn end<T, E>(self, aws_response: &Result<T, E>)
Ends the span with AWS response information.
This method finalizes the span by recording the outcome of an AWS operation. It automatically extracts request IDs and handles error reporting.
§Arguments
aws_response
- The result of the AWS operation, which must implementRequestId
for both success and error cases
§Behavior
- On success: Sets span status to OK and records the request ID
- On error: Records the error, sets error status, and records the request ID if available
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AwsSpan
impl !RefUnwindSafe for AwsSpan
impl Send for AwsSpan
impl Sync for AwsSpan
impl Unpin for AwsSpan
impl !UnwindSafe for AwsSpan
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> 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> 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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§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
Creates a shared type from an unshared type.