Skip to main content

RunnerMetricsDelta

Struct RunnerMetricsDelta 

Source
#[non_exhaustive]
pub struct RunnerMetricsDelta {
Show 14 fields pub time_events: u64, pub exec_events: u64, pub exec_commands: u64, pub data_events: u64, pub data_commands: u64, pub time_events_busy_ns: u64, pub exec_events_busy_ns: u64, pub exec_commands_busy_ns: u64, pub data_events_busy_ns: u64, pub data_commands_busy_ns: u64, pub dispatch_busy_ns: u64, pub maintenance_busy_ns: u64, pub external_msgbus_busy_ns: u64, pub elapsed_ns: u64,
}
Expand description

Derived deltas between two LiveNode::run runner metrics snapshots.

Values are saturating differences between two RunnerMetricsSnapshot samples. Queue depths and last-dispatch timestamps remain snapshot-only point-in-time values.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§time_events: u64

Number of time events dispatched during the sample window.

§exec_events: u64

Number of execution events dispatched during the sample window.

§exec_commands: u64

Number of execution commands dispatched during the sample window.

§data_events: u64

Number of data events dispatched during the sample window.

§data_commands: u64

Number of data commands dispatched during the sample window.

§time_events_busy_ns: u64

Nanoseconds spent dispatching time events during the sample window.

§exec_events_busy_ns: u64

Nanoseconds spent dispatching execution events during the sample window.

§exec_commands_busy_ns: u64

Nanoseconds spent dispatching execution commands during the sample window.

§data_events_busy_ns: u64

Nanoseconds spent dispatching data events during the sample window.

§data_commands_busy_ns: u64

Nanoseconds spent dispatching data commands during the sample window.

§dispatch_busy_ns: u64

Nanoseconds spent in the five dispatch branches during the sample window.

§maintenance_busy_ns: u64

Nanoseconds spent in maintenance and reconciliation processing during the sample window.

§external_msgbus_busy_ns: u64

Nanoseconds spent handling external message bus ingress during the sample window.

§elapsed_ns: u64

Monotonic nanoseconds elapsed during the sample window.

Implementations§

Source§

impl RunnerMetricsDelta

Source

pub fn from_snapshots( before: RunnerMetricsSnapshot, after: RunnerMetricsSnapshot, ) -> Self

Returns the saturating delta between two runner metrics snapshots.

Source

pub const fn total_dispatched(&self) -> u64

Returns the total messages dispatched across all runner channels.

Source

pub fn dispatch_utilization(&self) -> f64

Returns dispatch busy time divided by elapsed time for the sample window.

Returns 0.0 when the elapsed window is zero.

Source

pub fn loop_utilization(&self) -> f64

Returns total timed runner-loop work divided by elapsed time for the sample window.

Total work includes dispatch, maintenance, reconciliation, and external message bus ingress handling. Returns 0.0 when the elapsed window is zero.

Source

pub fn mean_dispatch_ns(&self) -> u64

Returns mean dispatch time in nanoseconds for the sample window.

Returns zero when no dispatches were recorded.

Source

pub fn channel_mean_dispatch_ns(&self, channel: SystemChannel) -> u64

Returns mean dispatch time in nanoseconds for channel during the sample window.

Returns zero when the channel dispatched no messages.

Source

pub const fn total_busy_ns(&self) -> u64

Returns the total nanoseconds spent in timed runner-loop work.

Trait Implementations§

Source§

impl Clone for RunnerMetricsDelta

Source§

fn clone(&self) -> RunnerMetricsDelta

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for RunnerMetricsDelta

Source§

impl Debug for RunnerMetricsDelta

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for RunnerMetricsDelta

Source§

fn default() -> RunnerMetricsDelta

Returns the “default value” for a type. Read more
Source§

impl Eq for RunnerMetricsDelta

Source§

impl PartialEq for RunnerMetricsDelta

Source§

fn eq(&self, other: &RunnerMetricsDelta) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for RunnerMetricsDelta

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.