Crate procsys

Source
Expand description

§procsys

Rust library to retrieve system, kernel, and process metrics from the pseudo-filesystems /proc and /sys.

See the docs for more information about supported features, or view the features.md file of the project repository.

§Examples

There are several examples in the documents and also in the examples directory of project repository.

use procsys::sysfs::class_watchdog;

let watchdog_devices = class_watchdog::collect().expect("watchdog information");

for wdev in &watchdog_devices {
    println!("name: {}", wdev.name);
    println!("boot status: {}", wdev.boot_status.unwrap_or_default());
    println!("timeout: {}", wdev.timeout.unwrap_or_default());
    println!("min_timeout: {}", wdev.min_timeout.unwrap_or_default());
    println!("max_timeout: {}", wdev.max_timeout.unwrap_or_default());
}

// print all watchdog devices information in json output
match serde_json::to_string_pretty(&watchdog_devices) {
    Ok(output) => println!("{}", output),
    Err(err) => {
        log::error!("{}", err);
        std::process::exit(1);
    }
}

§License

Licensed under the MIT License.

Modules§

buddyinfo
cmdline
cpuinfo
crypto
error
kernel_random
loadavg
meminfo
net_dev
net_protocols
process
process_cgroup
process_io
process_limits
process_net_snmp
process_net_snmp6
process_netstat
process_ns
softirqs
swaps
sysfs