pub struct ScopedTimer { /* private fields */ }Expand description
An RAII timer guard. Drops into a profiler automatically.
§Example
use shrew::profiler::{Profiler, ScopedTimer};
use std::sync::{Arc, Mutex};
let profiler = Arc::new(Mutex::new(Profiler::new()));
{
let _t = ScopedTimer::new(profiler.clone(), "my_op", "compute");
// ... do work ...
} // timer records elapsed time on drop
let prof = profiler.lock().unwrap();
assert_eq!(prof.events().len(), 1);Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ScopedTimer
impl RefUnwindSafe for ScopedTimer
impl Send for ScopedTimer
impl Sync for ScopedTimer
impl Unpin for ScopedTimer
impl UnwindSafe for ScopedTimer
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> 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 more