8 个版本 (4 个重大更新)
使用旧的 Rust 2015
0.6.0 | 2017 年 5 月 24 日 |
---|---|
0.5.0 | 2017 年 4 月 7 日 |
0.4.4 | 2017 年 4 月 3 日 |
0.4.3 | 2017 年 3 月 30 日 |
0.1.0 | 2016 年 9 月 27 日 |
在 文件系统 中排名 1566
每月下载 186 次
在 5 个 Crates 中使用(直接使用 3 个)
31KB
652 代码行
Self-Meter
状态 | beta |
---|---|
文档 | https://docs.rs/self-meter/ |
一个用于测量其所使用进程资源使用的微型库。目前它可以测量
- 内存使用
- CPU 使用,按每个线程细分
- 磁盘使用
以后可能会添加更多指标。目前,库只支持 Linux,但对其他平台的 pull request 欢迎接受。
许可证
许可协议为以下之一
- Apache 许可证 2.0 版,(./LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证(./LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确声明,否则任何提交到作品中的贡献,根据 Apache-2.0 许可证的定义,均应双许可,如上所述,不附加任何额外条款或条件。
lib.rs
:
一个用于测量其所使用进程资源使用的微型库。目前它可以测量
- 内存使用
- CPU 使用,按每个线程细分
- 磁盘使用
以后可能会添加更多指标。目前,库只支持 Linux,但对其他平台的 pull request 欢迎接受。
示例
fn main() {
let mut meter = self_meter::Meter::new(Duration::new(1, 0)).unwrap();
meter.track_current_thread("main");
loop {
meter.scan()
.map_err(|e| writeln!(&mut stderr(), "Scan error: {}", e)).ok();
println!("Report: {:#?}", meter.report());
println!("Threads: {:#?}",
meter.thread_report().map(|x| x.collect::<BTreeMap<_,_>>()));
// Put your task here
// ...
//
sleep(Duration::new(1, 0));
}
}
依赖
~0.5–1.1MB
~26K SLoC