simple-process-stats

Crates.iosimple-process-stats
lib.rssimple-process-stats
version1.0.0
sourcesrc
created_at2020-07-19 18:01:37.460442
updated_at2020-12-25 19:31:57.820301
descriptionGet memory usage and CPU time on Linux and Windows
homepage
repositoryhttps://github.com/robotty/simple-process-stats
max_upload_size
id266952
size16,219
Ruben Anders (RAnders00)

documentation

README

simple-process-stats

A small library to get memory usage and elapsed CPU time.

  • Supports Windows, Linux and macOS.
  • Async interface, uses tokio::fs for file operations
use simple_process_stats::ProcessStats;

let process_stats = ProcessStats::get().await.expect("could not get stats for running process");
println!("{:?}", process_stats);
// ProcessStats {
//     cpu_time_user: 421.875ms,
//     cpu_time_kernel: 102.332ms,
//     memory_usage_bytes: 3420160,
// }

On Linux, this library reads /proc/self/stat and uses the sysconf libc function.

On Windows, the library uses GetCurrentProcess combined with GetProcessTimes and K32GetProcessMemoryInfo.

On macOS, this library uses proc_pidinfo from libproc (and current process ID is determined via libc).

Commit count: 46

cargo fmt