Skip to content

feat: 增加本机资源采集能力(1/4) - #559

Open
baishiyaya-cmd wants to merge 1 commit into
Kuddev:mainfrom
baishiyaya-cmd:codex/resource-monitor-native
Open

baishiyaya-cmd wants to merge 1 commit into
Kuddev:mainfrom
baishiyaya-cmd:codex/resource-monitor-native

Conversation

@baishiyaya-cmd

@baishiyaya-cmd baishiyaya-cmd commented Oct 9, 2026 •

Copy link
Copy Markdown

用户结果

为资源监控提供本机采集能力:CPU、内存、网络、文件系统容量、进程使用情况、NVIDIA GPU 和 Docker 容器及端口映射。本 PR 只实现类型化采集接口和相关行为测试,尚未增加用户可见的侧栏入口。

这是资源监控系列的第 1/4 阶段,针对上游 main 的计入改动为 1,064 行,低于 1,500 行限制。

设计边界

  • 采集序列拥有系统计数器和速率基线,输出不可变快照。调用者负责在后台工作器执行采集。
  • 复用 sysinfo 0.31.4 和已有的有界、可取消子进程读取器,不增加常驻采集程序。
  • Docker 仅在请求时查询;设备不可用、失败、未采集和真实零值分别表示。GPU 目前只支持 NVIDIA,磁盘指标表示容量,不表示 SMART 健康。
  • 概览最多保留五个热点进程;进程排序、网络速率基线和磁盘筛选只有一份规则。
  • 所有权和取舍见 architecture/notes/nebula_app/resource_monitor/2026-10-08-sidebar-sampling-ownership.md。

验证依据

已执行定向 Rust 格式化、暂存差异空白检查,以及针对 upstream/main 的架构静态检查,均通过。

本阶段保留进程排序、Docker 查询范围和端口语义、GPU 缺失值、取消及网卡变化等行为测试。本地尚未执行 Cargo 编译、Rust 测试或真实 GPU/Docker 集成验证。

GitHub 在提交 e959804 上显示 pr-size、lint、architecture-contracts 和五个平台的 Native tests 检查均通过。实际设备集成验证尚未完成;已转为正式待审阅 PR,不表示已获合并批准。

本地 AGENTS.md 和开发指南已排除。

后续阶段

  1. 本 PR:本机资源采集,1,064 行。
  2. SSH/WSL:Linux、macOS 和 Windows 无需安装额外采集程序,1,020 行。
  3. 基础侧栏:概览、Docker、默认折叠端口及磁盘,只展示五个热点进程,1,336 行。
  4. 交互展示:CPU/网络趋势图、悬停信息、内存环图及只读进程详情,1,004 行。

后续行数针对各自前一阶段计算。各阶段依次合入上游后再提交下一阶段,避免将尚未合并的前置代码重复计入。完整原始草稿为 #558,拆分后由本系列取代。

必须确认

  • 已阅读贡献、架构和开发规范。
  • 未提高行数预算、删除测试或扩展门禁豁免。
  • 架构和差异空白检查通过。
  • GitHub CI 的原生测试及必需策略检查通过;本地未执行编译或测试。
  • 核验本机采集和设备集成结果。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants