基于eBPF技术的高性能内核数据采集工具
DKapture(Deepin Kernel Capture)是一个用户空间工具集和动态库,用于观察和操作内核的数据对象或行为。相比业界标杆工具sysdig和systemtap基于内核模块的技术,DKapture采用Linux内核新兴的eBPF技术,提供了更安全、更高效的实现方式。
在进程信息读取场景下,DKapture相比传统方式具有显著的性能优势:
| 工具 | 总耗时(秒) | 每秒处理事件数 | 事件采集率 |
|---|---|---|---|
| DKapture | 6.13 | 324.80 | 99% |
| sysdig | 7.94 | 249.89 | 99% |
| systemtap | 11.75 | 170.21 | 100% |
sudo apt install build-essential clang llvm libbpf-dev bpftool
# 克隆项目
git clone https://github.com/DKapture/libdkapture
cd dkapture
git submodule update --init --recursive --depth 1
# 完整构建
make all
本项目采用 GNU 宽通用公共许可证第二版(LGPL-2.1)。详情请参见 LICENSE 文件。