pub struct ThermalInfo {
pub sensors: Vec<ThermalSensor>,
pub fans: Vec<FanInfo>,
pub thermal_status: ThermalStatus,
pub ambient_temperature: Option<f32>,
pub tdp_info: Option<TDPInfo>,
}
Expand description
System thermal information
Fields§
§sensors: Vec<ThermalSensor>
Temperature sensors
fans: Vec<FanInfo>
System fans
thermal_status: ThermalStatus
Overall system temperature status
ambient_temperature: Option<f32>
Ambient temperature (if available)
tdp_info: Option<TDPInfo>
Thermal design power (TDP) information
Implementations§
Source§impl ThermalInfo
impl ThermalInfo
Sourcepub fn sensors(&self) -> &[ThermalSensor]
pub fn sensors(&self) -> &[ThermalSensor]
Get temperature sensors
Sourcepub fn thermal_status(&self) -> &ThermalStatus
pub fn thermal_status(&self) -> &ThermalStatus
Get thermal status
Sourcepub fn max_temperature(&self) -> Option<f32>
pub fn max_temperature(&self) -> Option<f32>
Get maximum temperature across all sensors
Sourcepub fn average_temperature(&self) -> Option<f32>
pub fn average_temperature(&self) -> Option<f32>
Get average temperature across all sensors
Sourcepub fn has_critical_temperature(&self) -> bool
pub fn has_critical_temperature(&self) -> bool
Check if any sensor is at critical temperature
Sourcepub fn cpu_temperature(&self) -> Option<f32>
pub fn cpu_temperature(&self) -> Option<f32>
Get CPU temperature (if available)
Sourcepub fn gpu_temperature(&self) -> Option<f32>
pub fn gpu_temperature(&self) -> Option<f32>
Get GPU temperature (if available)
Sourcepub fn predict_thermal_throttling(
&self,
workload_intensity: f32,
) -> ThrottlingPrediction
pub fn predict_thermal_throttling( &self, workload_intensity: f32, ) -> ThrottlingPrediction
Predict thermal throttling based on current conditions
Sourcepub fn suggest_cooling_optimizations(&self) -> Vec<CoolingRecommendation>
pub fn suggest_cooling_optimizations(&self) -> Vec<CoolingRecommendation>
Get cooling optimization recommendations
Sourcepub fn calculate_sustained_performance(&self) -> f64
pub fn calculate_sustained_performance(&self) -> f64
Calculate sustained performance capability considering thermal limits
Sourcepub fn update_sensor_history(&mut self, sensor_name: &str, temperature: f32)
pub fn update_sensor_history(&mut self, sensor_name: &str, temperature: f32)
Update temperature history for a sensor
Trait Implementations§
Source§impl Clone for ThermalInfo
impl Clone for ThermalInfo
Source§fn clone(&self) -> ThermalInfo
fn clone(&self) -> ThermalInfo
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 ThermalInfo
impl Debug for ThermalInfo
Source§impl<'de> Deserialize<'de> for ThermalInfo
impl<'de> Deserialize<'de> for ThermalInfo
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ThermalInfo
impl RefUnwindSafe for ThermalInfo
impl Send for ThermalInfo
impl Sync for ThermalInfo
impl Unpin for ThermalInfo
impl UnwindSafe for ThermalInfo
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