【BPF】学习笔记 - BCC工具[6]
【BPF】学习笔记 - BCC工具[6] 本学习笔记来自于阅读 Brendan Gregg 的《BPF Performance Tools》 BPF编译器集合(BCC)是一个开放源代码项目,其中包含用于构建BPF软件的编译器框架和库。 它是BPF的主要前端项目,受到BPF开发人员的支持. BCC还包含70多个现成的BPF性能分析和故障排除工具 BCC 组件 : BCC包含有关工具,手册页和示例文件的文档,以及有关使用BCC工具的指南,以及有关BCC工具开发的指南和参考指南。 它提供了用于在Python,C ++中开发BCC工具的接口; 将来可能会添加更多接口 BCC工具使用的主要语言是Python(用于用户级组件)和C(用于内核级BPF)。指南中的建议之一是 “编写工具即可解决问题,而无需更多”. 这鼓励在可能的情况下开发 单一用途 的工具,而不是多功能的工具 一、 单一目的工具 Unix的哲学是做一件事并做好, 其中一种方式是创建较小的高质量工具,可以使用管道将它们连接在一起以完成更复杂的任务,例如 grep , cut 等 考虑一下如何为跟踪open系列syscall的一项任务自定义选项和输出: $ opensnoop -h usage: opensnoop [ -h ] [ -T ] [ -U ] [ -x ] [ -p PID ] [ -t TID ] [ -u UID ]