pub struct CpuInfo { /* private fields */ }Implementations§
Source§impl CpuInfo
Struct that allows reading of cpu power info
impl CpuInfo
Struct that allows reading of cpu power info
§Example
let cpu = CpuInfo::new()?;
let power = cpu.read()?;
println!("Package power:");
for (package, usage) in power.packages().enumerate() {
println!("\t#{}: {:.2}W", package, usage);
}
println!("Core power:");
for (core, usage) in power.cores().enumerate() {
println!("\t#{}: {:.2}W", core, usage);
}Sourcepub fn new() -> Result<Self, Error>
pub fn new() -> Result<Self, Error>
Examples found in repository?
examples/power.rs (line 4)
3fn main() -> Result<(), Error> {
4 let cpu = CpuInfo::new()?;
5 let power = cpu.read()?;
6
7 println!("Package power:");
8 for (package, usage) in power.packages().enumerate() {
9 println!("\t#{}: {:.2}W", package, usage);
10 }
11 println!("Core power:");
12 for (core, usage) in power.cores().enumerate() {
13 println!("\t#{}: {:.2}W", core, usage);
14 }
15 Ok(())
16}Sourcepub fn read(&self) -> Result<CpuPower, Error>
pub fn read(&self) -> Result<CpuPower, Error>
Read the cpu power levels
Note that this method will block for ~10ms
Examples found in repository?
examples/power.rs (line 5)
3fn main() -> Result<(), Error> {
4 let cpu = CpuInfo::new()?;
5 let power = cpu.read()?;
6
7 println!("Package power:");
8 for (package, usage) in power.packages().enumerate() {
9 println!("\t#{}: {:.2}W", package, usage);
10 }
11 println!("Core power:");
12 for (core, usage) in power.cores().enumerate() {
13 println!("\t#{}: {:.2}W", core, usage);
14 }
15 Ok(())
16}Auto Trait Implementations§
impl Freeze for CpuInfo
impl RefUnwindSafe for CpuInfo
impl Send for CpuInfo
impl Sync for CpuInfo
impl Unpin for CpuInfo
impl UnwindSafe for CpuInfo
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