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 UnsafeUnpin 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