7个版本
0.2.7 | 2024年3月24日 |
---|---|
0.2.6 | 2022年6月12日 |
0.2.5 | 2021年12月18日 |
0.2.4 | 2021年8月11日 |
0.1.40 |
|
#117 在 操作系统
每月1,248次下载
在 ztui 中使用
86KB
2K SLoC
sys_metrics
是一个WIP项目,旨在为其他工具提供替代方案,这些工具可能较慢或提供过多的无用信息。它将尝试至少具有与 psutil 或 heim 相同的功能。
这是一个同步库,试图尽可能快(可能甚至是最快的),并且尽可能不依赖其他库。
WIP备注
sys_metrics
在其WIP阶段将仅支持Linux和macOS。结构可能会随着版本的不同而变化。如果您对此或任何其他内容有评论,请随时打开一个问题。
用法
将依赖项添加到您的 Cargo.toml
[dependencies]
sys_metrics = "0.2"
基本用法示例
use sys_metrics::{cpu::*};
// This is just a very basic example of the CPU part.
// Check the doc, this crate can do much more.
fn main() {
let cpufreq = get_cpufreq().unwrap();
println!("CPU Speed: {:13}MHz\n", cpufreq as u64);
let cpu_logical = get_logical_count().unwrap();
let cpu_physical = get_physical_count().unwrap();
println!("CPU Core: {:12}\nLogical processors: {}", cpu_physical, cpu_logical);
let loadavg = get_loadavg().unwrap();
println!("Load average: {:10} {} {}", loadavg.one, loadavg.five, loadavg.fifteen);
}
对于更复杂的示例,请查看此处使用的此crate: speculare-client/src/harvest/data_harvest.rs.
基准测试
查看 BENCHMARKS 以比较sys_metrics与其他crate。
➜ cargo bench
支持的目标
目标 | 测试 |
---|---|
x86_64-apple-darwin |
✓ |
x86_64-unknown-linux-gnu |
✓ |
贡献
欢迎Pull请求。对于重大更改,请首先打开一个问题来讨论您想要更改的内容。
依赖项
~0.4–1.2MB
~27K SLoC