4 releases (1 stable)
1.0.0 | Dec 25, 2020 |
---|---|
0.2.1 | Nov 24, 2020 |
0.2.0 | Aug 25, 2020 |
0.1.0 | Jul 19, 2020 |
#472 in Operating systems
534 downloads per month
Used in rusty-sidekiq
14KB
226 lines
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
).
lib.rs
:
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
).
Dependencies
~0.3–2.4MB
~43K SLoC