使用 bcc 开发 eBPF
bcc 的本质是什么?
我们知道,eBPF 程序分为内核态与用户态两部分,bcc 对这两部分都提供了一系列的工具函数来简化开发:
- 内核态使用 C 语言开发,bcc 提供了一系列的 库函数与宏定义 来简化开发。
- 用户态主要负责包含 eBPF 程序加载、挂载到内核函数和跟踪点,以及通过 BPF 映射获取和打印执行结果等部分,不限制开发语言,bcc 提供了一系列的 python 函数来简化这些操作。
需要安装哪些依赖?
基础通用工具
bcc 的基础通用工具依赖有:bash, make, python3。
bcc 工具集
首先要安装有 bcc 工具集,它是用 bcc 写好的问题定位分析工具,参考 tools 目录