Struct specifications::profiling::ProfileScopeHandleOwned
source · pub struct ProfileScopeHandleOwned { /* private fields */ }
Expand description
Provides a convenience wrapper around a reference to a ProfileScope that ignores the lifetime mumbo.
If this object outlives its parent scope, there won’t be any errors; however, note that the profilings collected afterwards will not be printed.
Implementations§
Methods from Deref<Target = ProfileScope>§
sourcepub fn time(&self, name: impl Into<String>) -> TimerGuard<'_>
pub fn time(&self, name: impl Into<String>) -> TimerGuard<'_>
sourcepub fn time_fut<'s, R>(
&'s self,
name: impl Into<String>,
fut: impl 's + Future<Output = R>,
) -> impl 's + Future<Output = R>
pub fn time_fut<'s, R>( &'s self, name: impl Into<String>, fut: impl 's + Future<Output = R>, ) -> impl 's + Future<Output = R>
sourcepub fn nest(&self, name: impl Into<String>) -> ProfileScopeHandle<'_>
pub fn nest(&self, name: impl Into<String>) -> ProfileScopeHandle<'_>
sourcepub fn nest_func<R>(
&self,
name: impl Into<String>,
func: impl FnOnce(ProfileScopeHandle<'_>) -> R,
) -> R
pub fn nest_func<R>( &self, name: impl Into<String>, func: impl FnOnce(ProfileScopeHandle<'_>) -> R, ) -> R
Profiles the given function, but provides it with extra profile options by giving it its own ProfileScope to populate.
Note that the ProfileScope is already automatically given a “total”-timing, representing the function’s profiling. This is still untimed as long as the function sees it, obviously.
§Arguments
name
: The name to set for this Timing.func
: The function to profile.
§Returns
The result of the function, if any.
sourcepub fn nest_fut<'s, F: Future>(
&'s self,
name: impl Into<String>,
fut: impl 's + FnOnce(ProfileScopeHandle<'s>) -> F,
) -> impl 's + Future<Output = F::Output>
pub fn nest_fut<'s, F: Future>( &'s self, name: impl Into<String>, fut: impl 's + FnOnce(ProfileScopeHandle<'s>) -> F, ) -> impl 's + Future<Output = F::Output>
Profiles the given future by creating a future that times it while running, but provides it with extra profile options by giving it its own ProfileScope to popupate.
Note that the ProfileScope is already automatically given a “total”-timing, representing the future’s profiling. This is still untimed as long as the future sees it, obviously.
§Arguments
name
: The name to set for this Timing.fut
: The Future to profile.
§Returns
A future that returns the same result as the given, but times its execution as a side-effect.
sourcepub fn display(&self) -> ProfileScopeFormatter<'_>
pub fn display(&self) -> ProfileScopeFormatter<'_>
Returns a formatter that neatly displays the results of this scope.
Note that this does not end with a newline, so typically you want to call writeln!()
/println!()
on this.
§Returns
A new ProfileScopeFormatter.
sourcepub fn display_indented(&self, indent: usize) -> ProfileScopeFormatter<'_>
pub fn display_indented(&self, indent: usize) -> ProfileScopeFormatter<'_>
Returns a formatter that neatly displays the results of this scope with a given number of spaces before each line.
Note that this does not end with a newline, so typically you want to call writeln!()
/println!()
on this.
§Arguments
indent
: The number of spaces to print before each line.
§Returns
A new ProfileScopeFormatter.
Trait Implementations§
source§impl Clone for ProfileScopeHandleOwned
impl Clone for ProfileScopeHandleOwned
source§fn clone(&self) -> ProfileScopeHandleOwned
fn clone(&self) -> ProfileScopeHandleOwned
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ProfileScopeHandleOwned
impl Debug for ProfileScopeHandleOwned
source§impl Deref for ProfileScopeHandleOwned
impl Deref for ProfileScopeHandleOwned
source§impl<'s> From<ProfileScopeHandle<'s>> for ProfileScopeHandleOwned
impl<'s> From<ProfileScopeHandle<'s>> for ProfileScopeHandleOwned
source§fn from(value: ProfileScopeHandle<'s>) -> Self
fn from(value: ProfileScopeHandle<'s>) -> Self
Auto Trait Implementations§
impl Freeze for ProfileScopeHandleOwned
impl !RefUnwindSafe for ProfileScopeHandleOwned
impl Send for ProfileScopeHandleOwned
impl Sync for ProfileScopeHandleOwned
impl Unpin for ProfileScopeHandleOwned
impl !UnwindSafe for ProfileScopeHandleOwned
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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