#linux #probe #proc

mprober-lib

A library aims to quickly collect Linux system information including hostname, kernel version, uptime, RTC time, load average, CPU, memory, network interfaces, block devices and processes

8 releases

Uses new Rust 2021

0.1.8 Apr 25, 2022
0.1.7 Mar 19, 2022
0.1.6 Apr 21, 2021
0.1.4 Jul 29, 2020
0.1.3 Jun 27, 2020

#75 in Unix APIs

Download history 61/week @ 2022-03-14 32/week @ 2022-03-21 10/week @ 2022-03-28 9/week @ 2022-04-04 16/week @ 2022-04-11 7/week @ 2022-04-18 82/week @ 2022-04-25 62/week @ 2022-05-02 41/week @ 2022-05-09 141/week @ 2022-05-16 66/week @ 2022-05-23 77/week @ 2022-05-30 33/week @ 2022-06-06 23/week @ 2022-06-13 9/week @ 2022-06-20 18/week @ 2022-06-27

100 downloads per month

MIT license

67KB
1.5K SLoC

M Prober Lib

CI

This crate aims to quickly collect Linux system information including hostname, kernel version, uptime, RTC time, load average, CPU, memory, network interfaces, block devices and processes.

Examples

extern crate mprober_lib;

use mprober_lib::*;

println!("{}", hostname::get_hostname().unwrap());
println!("{}", kernel::get_kernel_version().unwrap());
println!("{}", btime::get_btime());
println!("{}", rtc_time::get_rtc_date_time().unwrap());
println!("{:#?}", uptime::get_uptime().unwrap());
println!("{:#?}", load_average::get_load_average().unwrap());
println!("{:#?}", cpu::get_cpus().unwrap());
println!("{:#?}", memory::free().unwrap());
println!("{:#?}", volume::get_volumes().unwrap());
println!("{:#?}", network::get_networks().unwrap());
println!("{:#?}", process::get_processes_with_stat(&process::ProcessFilter::default()).unwrap().into_iter().map(|(process, _)| process).collect::<Vec<process::Process>>());

Benchmark

cargo bench

Documentation

https://docs.rs/mprober-lib

Official CLI

https://crates.io/crates/mprober

License

MIT

Dependencies

~2.5–3.5MB
~84K SLoC