展示 HN:Pulse v0.2.0
3 分•作者: xerrs•3 个月前
一个轻量级的系统监控器,支持历史指标和内置网页仪表盘。
大家好,
我一直在开发 Pulse,一个用 C 语言编写的轻量级系统监控器。
其目标是提供一种简单的方式,通过终端和内置网页仪表盘来监控 CPU、内存、磁盘、网络、进程和系统信息,同时保持项目易于理解且依赖尽可能少。
v0.2.0 版本最大的亮点是增加了历史指标。Pulse 现在可以记录系统指标随时间的变化,通过其 HTTP API 暴露这些数据,并在仪表盘中以交互式图表的形式展示。
本次发布的一个有趣之处在于,我最终自己编写了一个小型图表渲染器,而不是使用现有的图表库。它只实现了 Pulse 所需的功能,这使得前端保持了轻量级。
一些亮点:
* 用 C 语言编写
* 终端用户界面和内置网页仪表盘
* 历史 CPU、内存、磁盘和网络指标
* 内置 HTTP API
* 可在 Linux 上运行,包括树莓派(我测试的是 4 B 型,但欢迎您在 Pico 上也进行测试)
* 开源
我仍在积极改进这个项目,因此非常欢迎您的反馈、批评或功能建议。我特别想听听您认为在设计上可以改进或简化的方面。
GitHub:https://github.com/cherries-works/pulse
网站:https://cherries.works
查看原文
A lightweight system monitor with historical metrics and a built-in web dashboard.<p>Hi HN,<p>I have been building Pulse, a lightweight system monitor written in C.<p>The goal is to provide a simple way to monitor CPU, memory, disk, network, processes, and system information from both the terminal and a built-in web dashboard, while keeping the project easy to understand and with as few dependencies as possible.<p>The biggest addition in v0.2.0 is historical metrics. Pulse now records system metrics over time, exposes them through its HTTP API, and displays them as interactive graphs in the dashboard.<p>One fun part of this release is that I ended up writing a small chart renderer instead of using an existing charting library. It only implements the features Pulse needs, which kept the frontend lightweight.<p>Some highlights:<p>Written in C
Terminal UI and built-in web dashboard
Historical CPU, memory, disk, and network metrics
Built-in HTTP API
Runs on Linux, including Raspberry Pi (4 B is what I tested it on, but feel free to test it on a Pico as well)
Open source<p>I'm still actively improving the project, so I'd really appreciate feedback, criticism, or ideas for features. I'm especially interested in hearing where you think the design could be improved or simplified.<p>GitHub: <a href="https://github.com/cherries-works/pulse" rel="nofollow">https://github.com/cherries-works/pulse</a><p>Website: <a href="https://cherries.works" rel="nofollow">https://cherries.works</a>