Machine Info

Get information about your machine and monitor the resources usage.

Crates.io Apache 2 licensed

Website | API Docs

Overview

There are many crates to get information about your system. We actually are using some of them but this crate adds a feature to constantly monitor the system without a big overhead.

You can probe your system for CPU or memory usage once per second and your machine performance will not be affected at all. Other crates consumed like 7-10% of CPU which is not acceptable. But to be fair, these other crates are doing many other things apart from getting the cpu/memory usage.

This crate focus only on this, nothing else. Limited but lightweight. If you want a full featured crate better use other one.

Example

Just a simple monitoring

toml [dependencies] machine-info = "1.0.2" Put this in your main.rs:

```rust use machine_info::Machine; use std::{thread, time};

fn main() { let mut m = Machine::new(); // Please use a real PIDs! m.trackprocess(132801).unwrap(); m.trackprocess(32930).unwrap();

for _ in 1..100 {
    let processes = m.processes_status();
    let system = m.system_status();
    let graphics = m.graphics_status();
    println!("{:?} {:?} {:?}", processes, system, graphics);

    thread::sleep(time::Duration::from_millis(1000));
}

}

```

Related Projects

In addition to the crates in this repository, the Tokio project also maintains several other libraries, including:

License

This project is licensed under the [Apache 2 license].