pub struct Timer { /* private fields */ }Expand description
Timer for tracking execution duration with phase support. This is a boundary module - clock access is allowed here.
phase_start uses Cell<Instant> so start_phase can take &self,
allowing non-boundary callers to reset the phase timer without holding
&mut Timer.
Implementations§
Source§impl Timer
impl Timer
pub fn new() -> Self
pub fn from_timestamps(start_time: Instant, phase_start: Instant) -> Self
pub fn start_phase(&self)
pub fn elapsed(&self) -> Duration
pub fn phase_elapsed(&self) -> Duration
pub fn format_duration(duration: Duration) -> String
pub fn elapsed_formatted(&self) -> String
pub fn phase_elapsed_formatted(&self) -> String
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Timer
impl !RefUnwindSafe for Timer
impl Send for Timer
impl !Sync for Timer
impl Unpin for Timer
impl UnsafeUnpin for Timer
impl UnwindSafe for Timer
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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