pub struct Component { /* private fields */ }
Expand description
Getting a component temperature information.
use sysinfo::Components;
let components = Components::new_with_refreshed_list();
for component in &components {
if let Some(temperature) = component.temperature() {
println!("{} {temperature}°C", component.label());
} else {
println!("{} (unknown temperature)", component.label());
}
}
Implementations§
Source§impl Component
impl Component
Sourcepub fn temperature(&self) -> Option<f32>
pub fn temperature(&self) -> Option<f32>
Returns the temperature of the component (in celsius degree).
§Linux
Returns f32::NAN
if it failed to retrieve it.
use sysinfo::Components;
let components = Components::new_with_refreshed_list();
for component in &components {
if let Some(temperature) = component.temperature() {
println!("{temperature}°C");
}
}
Sourcepub fn max(&self) -> Option<f32>
pub fn max(&self) -> Option<f32>
Returns the maximum temperature of the component (in celsius degree).
Note: if temperature
is higher than the current max
,
max
value will be updated on refresh.
§Linux
May be computed by sysinfo
from kernel.
Returns f32::NAN
if it failed to retrieve it.
use sysinfo::Components;
let components = Components::new_with_refreshed_list();
for component in &components {
if let Some(max) = component.max() {
println!("{max}°C");
}
}
Sourcepub fn critical(&self) -> Option<f32>
pub fn critical(&self) -> Option<f32>
Returns the highest temperature before the component halts (in celsius degree).
§Linux
Critical threshold defined by chip or kernel.
use sysinfo::Components;
let components = Components::new_with_refreshed_list();
for component in &components {
if let Some(critical) = component.critical() {
println!("{critical}°C");
}
}
Sourcepub fn label(&self) -> &str
pub fn label(&self) -> &str
Returns the label of the component.
§Linux
Since components information is retrieved thanks to hwmon
,
the labels are generated as follows.
Note: it may change and it was inspired by sensors
own formatting.
name | label | device_model | id_sensor | Computed label by sysinfo |
---|---|---|---|---|
✓ | ✓ | ✓ | ✓ | "{name} {label} {device_model}" |
✓ | ✓ | ✗ | ✓ | "{name} {label}" |
✓ | ✗ | ✓ | ✓ | "{name} {device_model}" |
✓ | ✗ | ✗ | ✓ | "{name} temp{id}" |
use sysinfo::Components;
let components = Components::new_with_refreshed_list();
for component in &components {
println!("{}", component.label());
}
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Component
impl RefUnwindSafe for Component
impl Send for Component
impl Sync for Component
impl Unpin for Component
impl UnwindSafe for Component
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
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 152 bytes