reorder README

This commit is contained in:
yunwei37
2023-01-28 19:44:45 +08:00
parent 755d912b8b
commit e9da7bfe6c
2 changed files with 18 additions and 14 deletions

View File

@@ -4,6 +4,10 @@ eBPF (Extended Berkeley Packet Filter) 是 Linux 内核上的一个强大的网
本文是 eBPF 入门开发实践教程的第七篇,主要介绍如何捕获 Linux 内核中进程执行的事件,并且通过 perf event array 向用户态命令行打印输出,不需要再通过查看 /sys/kernel/debug/tracing/trace_pipe 文件来查看 eBPF 程序的输出。通过 perf event array 向用户态发送信息之后,可以进行复杂的数据处理和分析。
## perf buffer
eBPF 提供了两个环形缓冲区,可以用来将信息从 eBPF 程序传输到用户区控制器。第一个是perf环形缓冲区它至少从内核v4.15开始就存在了。第二个是后来引入的 BPF 环形缓冲区。本文只考虑perf环形缓冲区。
## execsnoop
通过 perf event array 向用户态命令行打印输出,需要编写一个头文件,一个 C 源文件。示例代码如下:

View File

@@ -10,20 +10,6 @@
Gitee 镜像: <https://gitee.com/yunwei37/bpf-developer-tutorial>
## 让 chatGPT 来帮助我们
本教程借助 chatGPT 来学习编写 eBPF 程序,同时我们尝试教会 chatGPT 编写 eBPF 程序,大概步骤如下:
1. 告诉它基本的 eBPF 编程相关的常识
2. 告诉它一些案例hello worldeBPF 程序的基本结构,如何使用 eBPF 程序进行追踪,并且让它开始编写教程
3. 手动调整教程,并纠正代码和文档中的错误
4. 把修改后的代码再喂给 chatGPT让它继续学习
5. 尝试让 chatGPT 自动生成 eBPF 程序和对应的教程文档!例如
![ebpf-chatgpt-signal](imgs/ebpf-chatgpt-signal.png)
完整的对话记录可以在这里找到: [chatGPT.md](chatGPT.md)
## 目录
- [lesson 0-introduce](0-introduce/README.md) 介绍 eBPF 的基本概念和常见的开发工具
@@ -81,3 +67,17 @@ eunomia-bpf 由一个编译工具链和一个运行时库组成, 对比传统的
> - eunomia-bpf 项目 Github 地址: <https://github.com/eunomia-bpf/eunomia-bpf>
> - gitee 镜像: <https://gitee.com/anolis/eunomia>
## 让 chatGPT 来帮助我们
本教程借助 chatGPT 来学习编写 eBPF 程序,同时我们尝试教会 chatGPT 编写 eBPF 程序,大概步骤如下:
1. 告诉它基本的 eBPF 编程相关的常识
2. 告诉它一些案例hello worldeBPF 程序的基本结构,如何使用 eBPF 程序进行追踪,并且让它开始编写教程
3. 手动调整教程,并纠正代码和文档中的错误
4. 把修改后的代码再喂给 chatGPT让它继续学习
5. 尝试让 chatGPT 自动生成 eBPF 程序和对应的教程文档!例如
![ebpf-chatgpt-signal](imgs/ebpf-chatgpt-signal.png)
完整的对话记录可以在这里找到: [chatGPT.md](chatGPT.md)