Releases: X2002w/eebpf
Releases · X2002w/eebpf
Release list
v0.4.0
新功能
- AI 诊断 5 项上下文能力:基线(Welford 在线统计)、趋势序列、跨模块关联、判定规则、时间戳定位
- AI 诊断双模式切换:JSON 文件读取 / SQLite 历史查询,
--source参数控制 - 基线自适应判定:双阈值 OR 语义(固定阈值 + 历史均值+z*σ),覆盖 CPU/IO/Mem/Lock/Syscall 全部 5 个模块
- correlate 规则引擎加指标条件谓词(
key>N / key<N / key>=N / key<=N),subtype 模糊关键词匹配 - 全部阈值(CPU/IO/cswitch/sched_delay/busyloop/stack_conc/min_samples 等)移至 eebpf.conf 可配置
- AI 诊断费用配置化,定价移至 api_config.json
Bug 修复
- lock 模块自包含 sched 追踪,不再加载 cpu_anomaly skeleton,消除 ARM64 双 skeleton libbpf destroy 段错误(出错原因可能不是这个,是↓这项,不确定)
- 修复 reset_map 用
unsigned int(4 字节) 做 key 遍历struct lock_futex_key(16 字节) map 导致栈溢出段错误 - 修复 bench.sh main() 调用在函数定义之前导致脚本无输出的问题
- 修复 .gitignore swp 文件被
!docs/**通配规则覆盖的问题
重构
- 抽 bpf_shared.h 消除 BPF 内核态与用户态结构体定义重复
- storage.c 改用 SQLite JSON1 内置函数替代手写 JSON 解析
- 抽 classify_cpu_anomaly 统一文本/JSON 双输出路径的判定逻辑
- 抽 storage_check_baseline_anomaly 统一 5 模块基线阈值判定
- 代码清理:修复 CMD_FLAGS 拼写、合并 wakeup 重复代码、统一存储长文本字段命名常量
脚本
- setup.sh 加 correlate/history/baseline smoke 测试
- ai_check_env.sh 加 db_loader.py 导入检查与 SQLite 数据库路径检测
- kernel-matrix 冒烟测试加 verbose 诊断输出
- Makefile install-ai 目标补全 db_loader.py 安装
Full Changelog: v0.3.0...v0.4.0
v0.3.0
主要更新
- SQLite 历史数据存储,三表结构(reports/findings/snapshots),WAL 模式,每窗口独立写入
- history 子命令:历史趋势时间线查询,支持
--sql直接执行 SQL,--clear清除数据 - correlate 子命令:多维关联分析-不稳定, 后续可能抛弃,转而使用ai关联历史分析
- 模块注册机制插件化,REGISTER_MODULE 宏替代硬编码子命令数组
- RPM 打包支持(make rpm)与 CI 测试覆盖,release 同时发布 deb 和 rpm
Full Changelog: v0.2.0...v0.3.0
v0.2.0
主要更新
- 覆盖 5 类异常检测:CPU、I/O、内存、锁竞争、系统调用热点
- JSON + Markdown 双格式诊断报告,含统一 schema 与诊断结论渲染
- AI 多模块联合诊断 (ai_analysis/),兼容 OpenAI 接口的任意后端
- CI/CD 完整矩阵:x86_64 + ARM64,内核 6.1/6.6/6.12 全通过
- deb 打包发布 + apt 安装/卸载
- 配置文件支持 (eebpf.conf),阈值可调
Full Changelog: v0.1.0...v0.2.0