#meter #monitoring #linux #resources #cpu-memory #io-write

self-meter

一个用于测量其所使用进程资源使用的微型库

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

Download history 58/week @ 2024-03-12 55/week @ 2024-03-19 43/week @ 2024-03-26 62/week @ 2024-04-02 29/week @ 2024-04-09 36/week @ 2024-04-16 32/week @ 2024-04-23 24/week @ 2024-04-30 23/week @ 2024-05-07 50/week @ 2024-05-14 50/week @ 2024-05-21 56/week @ 2024-05-28 47/week @ 2024-06-04 40/week @ 2024-06-11 59/week @ 2024-06-18 29/week @ 2024-06-25

每月下载 186
5 Crates 中使用(直接使用 3 个)

MIT/Apache

31KB
652 代码行

Self-Meter

状态beta
文档https://docs.rs/self-meter/

一个用于测量其所使用进程资源使用的微型库。目前它可以测量

  • 内存使用
  • CPU 使用,按每个线程细分
  • 磁盘使用

以后可能会添加更多指标。目前,库只支持 Linux,但对其他平台的 pull request 欢迎接受。

许可证

许可协议为以下之一

任选其一。

贡献

除非你明确声明,否则任何提交到作品中的贡献,根据 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