使用 libbpfgo 重写 BCC libbpf-tools 中各个工具的用户态程序

最近新开源了一个 eBPF 相关的项目: mozillazg/libbpfgo-tools 。 这个项目的目标是使用 libbpfgo 重写/移植 bcc/libbpf-tools 中各个工具的前端程序(即,用户态程序)。 希望能在如何使用 golang 编写 eBPF 程序, 尤其是如何使用 libbpfgo 这个 eBPF 库方面对大家有些许帮助。

目标

这个项目的目标和原则如下:

  • 所有的 eBPF C 代码全部重用 BCC 仓库中 libbpf-tools 目录下的代码。 我们不会对 BCC 的代码做任何额外的修改,如果有需要修改的地方会提 PR 给上游 BCC 仓库。
  • 所有的用户态程序都使用 libbpfgo 进行实现。

状态

当前,我们已经完成了最新 v0.25.0 版本 BCC libbpf-tools 全部 46 个工具中 28 个工具的移植工作, 更多工具的移植持续进行中:


Comments