1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2018年9月22日 |
---|
#5 in #system-monitor
65KB
1K SLoC
介绍霸权
霸权是一个 正在进行中的 模块化 系统监控工具,使用安全的 Rust 编写。
目前,它具有以下功能
- 监控 CPU 和内存使用情况、温度和风扇速度
- 扩展任何数据流以显示更详细的图表和附加信息
- 可调节的更新间隔
- 干净的 MVC 架构,代码质量良好
- 单元测试
计划中的功能包括
- macOS 和 BSD 支持(目前仅支持 Linux)
- 监控磁盘和网络 I/O、GPU 使用情况(可能),等等
- 选择和重新排列数据流
- 鼠标控制
霸权是围绕出色的 chan、termion、systemstat 和 sensors 包架构建的。
安装
霸权目前 仅支持 Linux,需要 Rust 1.26 或更高版本 和 libsensors 的开发文件。这些可以在每个主要 Linux 发行版的软件仓库中找到,例如 Fedora 中的 lm_sensors-devel
和 Ubuntu 中的 libsensors4-dev
。
满足这些要求后,您可以使用以下命令安装霸权
$ cargo install hegemon
添加新的数据流
与传统的系统监控工具(如 top
)不同,后者专门用于显示特定的指标,如 CPU 和内存使用情况,霸权显示称为 数据流 的监控模块的输出,其行为由 Stream
接口定义。
流只需提供基本属性,例如名称和描述,以及检索数值数据的方法。其他一切由霸权管理,包括更新调度、布局和渲染、自适应缩放和统计计算。
Stream
对象由 StreamProvider
生成。这使得可以具有仅在运行时才能确定确切性质和数量的流,例如每个 CPU 内核一个流。
添加新流涉及以下步骤
- 创建一个
StreamProvider
- 使其从其
streams
方法返回Stream
对象 - 在
providers/mod.rs
中注册提供程序
《providers
》目录包含几个可用的提供者实现,可以作为参考。特别是,大多数提供者将希望使用Stream::new
辅助函数来创建流,而不是手动实现Stream
特质。
欢迎提出关于额外数据流的想法和实现!
许可协议
版权所有 © 2018 Philipp Emanuel Weidmann ([email protected])
本程序是免费软件:您可以按照自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它,许可证版本可以是3,或者(根据您的选择)任何更高版本。
分发本程序是希望它可能有用,但没有任何保证;甚至没有关于其可销售性或适用于特定目的的暗示保证。有关详细信息,请参阅GNU通用公共许可证。
您应该已经收到GNU通用公共许可证的副本。如果没有,请参阅https://www.gnu.org/licenses/。
通过向本项目做出贡献,您同意在相同的许可证下发布您的贡献。
依赖项
约4-11MB
约102K SLoC