pub struct InvocationTimer { /* private fields */ }Expand description
RAII guard that times a plugin invocation and emits one
InvocationMetric when finished.
Construct with start, then call exactly one of
finish_success or finish_failure. Dropping the timer
without calling finish_* emits a InvocationStatus::Dropped
metric — this is a bug, but a visible one rather than a silent
omission.
Implementations§
Source§impl InvocationTimer
impl InvocationTimer
Sourcepub fn start(
bus: Arc<InvocationMetricsBus>,
plugin_id: PluginId,
function_name: impl Into<String>,
) -> Self
pub fn start( bus: Arc<InvocationMetricsBus>, plugin_id: PluginId, function_name: impl Into<String>, ) -> Self
Start timing an invocation. The wall-clock and Instant are
captured here; nothing is sent on the bus until finish_*.
Sourcepub fn finish_success(self, memory_peak_bytes: u64)
pub fn finish_success(self, memory_peak_bytes: u64)
Emit a successful invocation metric.
Sourcepub fn finish_failure(self, error: impl Into<String>, memory_peak_bytes: u64)
pub fn finish_failure(self, error: impl Into<String>, memory_peak_bytes: u64)
Emit a failed invocation metric.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for InvocationTimer
impl RefUnwindSafe for InvocationTimer
impl Send for InvocationTimer
impl Sync for InvocationTimer
impl Unpin for InvocationTimer
impl UnsafeUnpin for InvocationTimer
impl UnwindSafe for InvocationTimer
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> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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 more