pub struct TonicStatusWrapper {
inner: Status,
call: Option<String>,
client_side_service_name: Option<Cow<'static, str>>,
}Expand description
A wrapper of tonic::Status that provides better error message and extracts
the source chain from the details field.
Fields§
§inner: Status§call: Option<String>§client_side_service_name: Option<Cow<'static, str>>Implementations§
Source§impl TonicStatusWrapper
impl TonicStatusWrapper
Sourcepub fn new(status: Status) -> TonicStatusWrapper
pub fn new(status: Status) -> TonicStatusWrapper
Create a new TonicStatusWrapper from the given tonic::Status and extract
the source chain from its details field.
Sourcepub fn inner(&self) -> &Status
pub fn inner(&self) -> &Status
Returns the reference to the inner tonic::Status.
Sourcepub fn into_inner(self) -> Status
pub fn into_inner(self) -> Status
Consumes self and returns the inner tonic::Status.
Trait Implementations§
Source§impl Debug for TonicStatusWrapper
impl Debug for TonicStatusWrapper
Source§impl Display for TonicStatusWrapper
impl Display for TonicStatusWrapper
Source§impl Error for TonicStatusWrapper
impl Error for TonicStatusWrapper
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
Source§fn provide<'a>(&'a self, request: &mut Request<'a>)
fn provide<'a>(&'a self, request: &mut Request<'a>)
🔬This is a nightly-only experimental API. (
error_generic_member_access)Provides type-based access to context intended for error reports. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<Status> for TonicStatusWrapper
impl From<Status> for TonicStatusWrapper
Source§fn from(status: Status) -> TonicStatusWrapper
fn from(status: Status) -> TonicStatusWrapper
Converts to this type from the input type.
Auto Trait Implementations§
impl !Freeze for TonicStatusWrapper
impl !RefUnwindSafe for TonicStatusWrapper
impl Send for TonicStatusWrapper
impl Sync for TonicStatusWrapper
impl Unpin for TonicStatusWrapper
impl !UnwindSafe for TonicStatusWrapper
Blanket Implementations§
§impl<T> AsReport for Twhere
T: Error,
impl<T> AsReport for Twhere
T: Error,
§fn as_report(&self) -> Report<'_>
fn as_report(&self) -> Report<'_>
Returns a [
Report] that formats the error and its sources in a
cleaned-up way. Read more§fn to_report_string(&self) -> String
fn to_report_string(&self) -> String
Converts the error to a [
Report] and formats it in a compact way. Read more§fn to_report_string_with_backtrace(&self) -> String
fn to_report_string_with_backtrace(&self) -> String
Converts the error to a [
Report] and formats it in a compact way,
including backtraces if available. Read more§fn to_report_string_pretty(&self) -> String
fn to_report_string_pretty(&self) -> String
Converts the error to a [
Report] and formats it in a pretty way. Read more§fn to_report_string_pretty_with_backtrace(&self) -> String
fn to_report_string_pretty_with_backtrace(&self) -> String
Converts the error to a [
Report] and formats it in a pretty way, Read moreSource§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
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any.Source§impl<T> ErrorIsFromTonicServerImpl for T
impl<T> ErrorIsFromTonicServerImpl for T
Source§fn is_from_tonic_server_impl(&self) -> bool
fn is_from_tonic_server_impl(&self) -> bool
Returns whether the error is from the implementation of a tonic server, i.e., created
with
ToTonicStatus::to_status. Read more§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<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§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
Source§impl<M> MetricVecRelabelExt for M
impl<M> MetricVecRelabelExt for M
Source§fn relabel(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level.Source§fn relabel_n(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
relabel_num: usize,
) -> RelabeledMetricVec<M>
fn relabel_n( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, relabel_num: usize, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level_relabel_n.Source§fn relabel_debug_1(
self,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel_debug_1( self, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level_relabel_n with metric_level set to
MetricLevel::Debug and relabel_num set to 1.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Scope for T
impl<T> Scope for T
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.
Source§impl<T> ToTonicStatus for T
impl<T> ToTonicStatus for T
Source§impl<T> TonicStatusWrapperExt for Twhere
T: Into<TonicStatusWrapper>,
impl<T> TonicStatusWrapperExt for Twhere
T: Into<TonicStatusWrapper>,
Source§fn with_client_side_service_name(
self,
service_name: impl Into<Cow<'static, str>>,
) -> TonicStatusWrapper
fn with_client_side_service_name( self, service_name: impl Into<Cow<'static, str>>, ) -> TonicStatusWrapper
Set the client side service name to provide better error message. Read more