pub struct ProfilingData {
pub version: u64,
pub overall_cpu_usage: f64,
pub engine_bookkeeping_cpu_usage: Option<f64>,
pub nodes: Vec<NodeProfileData>,
}Expand description
Performance profiling information of a Firewheel Processor.
Fields§
§version: u64The number of times the profiling data has been updated.
overall_cpu_usage: f64The overall CPU usage of the entire Firewheel Processor’s process method.
A value of 0.0 means 0% CPU usage, a value of 1.0 means 100%
CPU usage of the total alloted time, and values above 1.0 means an
underrun has occurred.
The value is the maximum value that has occurred since the last time
the profiling information was fetched with
FirewheelContext::profiling_data().
engine_bookkeeping_cpu_usage: Option<f64>The CPU usage of engine bookkeeping operations such as message handling, event sorting, event searching, and final output processing.
A value of 0.0 means 0% CPU usage, and a value of 1.0 means 100%
CPU usage of the total allotted time. (If instead you want the fraction
of time spent relative to the total time spent in the Firewheel process
method, it can be found with bookkeeping_cpu_usage / overall_cpu_usage.)
The value is the maximum value that has occurred since the last time
the profiling information was fetched with
FirewheelContext::profiling_data().
If FirewheelFlags::profile_engine_bookkeeping
is set to false (which it is by default), then this will be None.
nodes: Vec<NodeProfileData>The profiling information of individual nodes.
The order in which nodes appear is not defined.
This may be empty if FirewheelFlags::profile_nodes
is set to false (which it is by default) or if there was an error
with running out of buffer space.
Trait Implementations§
Source§impl Clone for ProfilingData
impl Clone for ProfilingData
Source§fn clone(&self) -> ProfilingData
fn clone(&self) -> ProfilingData
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProfilingData
impl Debug for ProfilingData
Source§impl Default for ProfilingData
impl Default for ProfilingData
Source§fn default() -> ProfilingData
fn default() -> ProfilingData
Auto Trait Implementations§
impl Freeze for ProfilingData
impl RefUnwindSafe for ProfilingData
impl Send for ProfilingData
impl Sync for ProfilingData
impl Unpin for ProfilingData
impl UnsafeUnpin for ProfilingData
impl UnwindSafe for ProfilingData
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§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.