pub struct StressMetrics {Show 17 fields
pub peak_cpu_utilization: f64,
pub peak_gpu_utilization: f64,
pub peak_memory_utilization: f64,
pub peak_temperature_c: f64,
pub peak_power_watts: f64,
pub peak_pcie_bandwidth_gbps: f64,
pub thermal_throttle_count: u32,
pub power_throttle_count: u32,
pub memory_pressure_events: u32,
pub gpu_errors: Vec<String>,
pub memory_errors: Vec<String>,
pub transfer_errors: Vec<String>,
pub baseline_flops: f64,
pub achieved_flops: f64,
pub performance_degradation_pct: f64,
pub duration_actual: Duration,
pub sample_count: u32,
}Expand description
Stress test metrics collected during execution
Fields§
§peak_cpu_utilization: f64Peak CPU utilization
peak_gpu_utilization: f64Peak GPU utilization
peak_memory_utilization: f64Peak memory utilization
peak_temperature_c: f64Peak temperature in Celsius
peak_power_watts: f64Peak power in Watts
peak_pcie_bandwidth_gbps: f64Peak PCIe bandwidth in GB/s
thermal_throttle_count: u32Number of thermal throttle events
power_throttle_count: u32Number of power throttle events
memory_pressure_events: u32Number of memory pressure events
gpu_errors: Vec<String>GPU errors
memory_errors: Vec<String>Memory errors
transfer_errors: Vec<String>Transfer errors
baseline_flops: f64Baseline FLOPS (before stress)
achieved_flops: f64Achieved FLOPS (during stress)
performance_degradation_pct: f64Performance degradation percentage
duration_actual: DurationActual duration
sample_count: u32Number of samples collected
Implementations§
Source§impl StressMetrics
impl StressMetrics
Sourcepub fn update_peaks(
&mut self,
cpu_util: f64,
gpu_util: f64,
mem_util: f64,
temp_c: f64,
power_w: f64,
pcie_gbps: f64,
)
pub fn update_peaks( &mut self, cpu_util: f64, gpu_util: f64, mem_util: f64, temp_c: f64, power_w: f64, pcie_gbps: f64, )
Update peak values from current sample
Sourcepub fn record_thermal_throttle(&mut self)
pub fn record_thermal_throttle(&mut self)
Record a thermal throttle event
Sourcepub fn record_power_throttle(&mut self)
pub fn record_power_throttle(&mut self)
Record a power throttle event
Sourcepub fn record_memory_pressure(&mut self)
pub fn record_memory_pressure(&mut self)
Record a memory pressure event
Sourcepub fn add_gpu_error(&mut self, error: impl Into<String>)
pub fn add_gpu_error(&mut self, error: impl Into<String>)
Add a GPU error
Sourcepub fn add_memory_error(&mut self, error: impl Into<String>)
pub fn add_memory_error(&mut self, error: impl Into<String>)
Add a memory error
Sourcepub fn add_transfer_error(&mut self, error: impl Into<String>)
pub fn add_transfer_error(&mut self, error: impl Into<String>)
Add a transfer error
Sourcepub fn calculate_degradation(&mut self)
pub fn calculate_degradation(&mut self)
Calculate performance degradation
Sourcepub fn has_errors(&self) -> bool
pub fn has_errors(&self) -> bool
Check if there were any errors
Sourcepub fn total_errors(&self) -> usize
pub fn total_errors(&self) -> usize
Get total error count
Trait Implementations§
Source§impl Clone for StressMetrics
impl Clone for StressMetrics
Source§fn clone(&self) -> StressMetrics
fn clone(&self) -> StressMetrics
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StressMetrics
impl Debug for StressMetrics
Source§impl Default for StressMetrics
impl Default for StressMetrics
Source§fn default() -> StressMetrics
fn default() -> StressMetrics
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for StressMetrics
impl RefUnwindSafe for StressMetrics
impl Send for StressMetrics
impl Sync for StressMetrics
impl Unpin for StressMetrics
impl UnsafeUnpin for StressMetrics
impl UnwindSafe for StressMetrics
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