pub struct RequestProfile { /* private fields */ }Expand description
单个 HTTP 请求内的 span 聚合
Implementations§
Source§impl RequestProfile
impl RequestProfile
Sourcepub fn on_enter(
&mut self,
id: Id,
label: String,
parent: Option<Id>,
source_file: Option<String>,
source_line: Option<u32>,
)
pub fn on_enter( &mut self, id: Id, label: String, parent: Option<Id>, source_file: Option<String>, source_line: Option<u32>, )
span 进入时登记
Sourcepub fn build_report(
&self,
method: &Method,
uri: &Uri,
status: StatusCode,
wall: Duration,
min_show: Duration,
) -> Option<ProfileReport>
pub fn build_report( &self, method: &Method, uri: &Uri, status: StatusCode, wall: Duration, min_show: Duration, ) -> Option<ProfileReport>
构建结构化 profile 报告
Sourcepub fn format_report(
&self,
method: &Method,
uri: &Uri,
wall: Duration,
min_show: Duration,
) -> Vec<String>
pub fn format_report( &self, method: &Method, uri: &Uri, wall: Duration, min_show: Duration, ) -> Vec<String>
格式化调用栈耗时树(不直接写 stderr,供整段原子输出)
Sourcepub fn print_report(
&self,
method: &Method,
uri: &Uri,
wall: Duration,
min_show: Duration,
)
pub fn print_report( &self, method: &Method, uri: &Uri, wall: Duration, min_show: Duration, )
输出调用栈耗时树到 stderr
Trait Implementations§
Source§impl Debug for RequestProfile
impl Debug for RequestProfile
Source§impl Default for RequestProfile
impl Default for RequestProfile
Source§fn default() -> RequestProfile
fn default() -> RequestProfile
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for RequestProfile
impl RefUnwindSafe for RequestProfile
impl Send for RequestProfile
impl Sync for RequestProfile
impl Unpin for RequestProfile
impl UnsafeUnpin for RequestProfile
impl UnwindSafe for RequestProfile
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
§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> 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