1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年9月22日

#5 in #system-monitor

GPL-3.0-or-later

65KB
1K SLoC

介绍霸权

霸权是一个 正在进行中的 模块化 系统监控工具,使用安全的 Rust 编写。

Screencast

目前,它具有以下功能

  • 监控 CPU 和内存使用情况、温度和风扇速度
  • 扩展任何数据流以显示更详细的图表和附加信息
  • 可调节的更新间隔
  • 干净的 MVC 架构,代码质量良好
  • 单元测试

计划中的功能包括

  • macOS 和 BSD 支持(目前仅支持 Linux)
  • 监控磁盘和网络 I/O、GPU 使用情况(可能),等等
  • 选择和重新排列数据流
  • 鼠标控制

霸权是围绕出色的 chantermionsystemstatsensors 包架构建的。

安装

霸权目前 仅支持 Linux,需要 Rust 1.26 或更高版本libsensors 的开发文件。这些可以在每个主要 Linux 发行版的软件仓库中找到,例如 Fedora 中的 lm_sensors-devel 和 Ubuntu 中的 libsensors4-dev

满足这些要求后,您可以使用以下命令安装霸权

$ cargo install hegemon

添加新的数据流

与传统的系统监控工具(如 top)不同,后者专门用于显示特定的指标,如 CPU 和内存使用情况,霸权显示称为 数据流 的监控模块的输出,其行为由 Stream 接口定义。

流只需提供基本属性,例如名称和描述,以及检索数值数据的方法。其他一切由霸权管理,包括更新调度、布局和渲染、自适应缩放和统计计算。

Stream 对象由 StreamProvider 生成。这使得可以具有仅在运行时才能确定确切性质和数量的流,例如每个 CPU 内核一个流。

添加新流涉及以下步骤

  1. 创建一个 StreamProvider
  2. 使其从其 streams 方法返回 Stream 对象
  3. 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