pub struct HardwareCounterManager { /* private fields */ }Expand description
Hardware counter manager that provides a unified interface
Implementations§
Source§impl HardwareCounterManager
impl HardwareCounterManager
Sourcepub fn new() -> Result<HardwareCounterManager, CoreError>
pub fn new() -> Result<HardwareCounterManager, CoreError>
Create a new hardware counter manager with platform-specific backend
Sourcepub fn available_counters(&self) -> Vec<CounterType>
pub fn available_counters(&self) -> Vec<CounterType>
Get available counter types
Sourcepub fn start_session(
&self,
sessionname: &str,
counters: Vec<CounterType>,
) -> Result<(), CoreError>
pub fn start_session( &self, sessionname: &str, counters: Vec<CounterType>, ) -> Result<(), CoreError>
Start a profiling session with specific counters
Sourcepub fn stop_session(&self, sessionname: &str) -> Result<(), CoreError>
pub fn stop_session(&self, sessionname: &str) -> Result<(), CoreError>
Stop a profiling session
Sourcepub fn sample_counters(
&self,
) -> Result<HashMap<CounterType, CounterValue>, CoreError>
pub fn sample_counters( &self, ) -> Result<HashMap<CounterType, CounterValue>, CoreError>
Sample all active counters
Sourcepub fn get_counter_history(
&self,
countertype: &CounterType,
) -> Vec<CounterValue>
pub fn get_counter_history( &self, countertype: &CounterType, ) -> Vec<CounterValue>
Get counter history
Sourcepub fn calculate_derived_metrics(
&self,
counters: &HashMap<CounterType, CounterValue>,
) -> DerivedMetrics
pub fn calculate_derived_metrics( &self, counters: &HashMap<CounterType, CounterValue>, ) -> DerivedMetrics
Calculate derived metrics
Sourcepub fn generate_report(&self, sessionname: &str) -> PerformanceReport
pub fn generate_report(&self, sessionname: &str) -> PerformanceReport
Generate performance report
Trait Implementations§
Source§impl Default for HardwareCounterManager
impl Default for HardwareCounterManager
Source§fn default() -> HardwareCounterManager
fn default() -> HardwareCounterManager
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for HardwareCounterManager
impl !RefUnwindSafe for HardwareCounterManager
impl !UnwindSafe for HardwareCounterManager
impl Send for HardwareCounterManager
impl Sync for HardwareCounterManager
impl Unpin for HardwareCounterManager
impl UnsafeUnpin for HardwareCounterManager
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.