Linux trace技术发展已久,经常看到很多的专业术语,从perf LTTng systemtap bpftrace tracepoint trace BCC bpf ebpf等词汇,这些关键的词汇有着怎样的联系和关联,通过下面的这个图可以直观的...
阅读全文...
Linux伯克利子系统之七:静态跟踪点tracepoint
在《linux-observability-with-bpf》中第4章节中的案例中,有一个tracepoint bpf_prog_load的实例,在我自己的云主机上,执行不通过。发现网上也有一些人遇到。针对该问题分析了一下具体的原因。 根本原因是...
阅读全文...
阅读全文...
Linux伯克利子系统之六:使用bpf实现xdp的例子
本篇文章参考《Linux Observability with BPF》中第7章的例子,主要功能是借助于ip命令作为前端,对其他主机访问tcp的8000端口进行限制,这里需要使用较新版本的iproute2软件工具包.
下载编译iproute2...
阅读全文...
阅读全文...
Linux伯克利子系统之四:使用sockmap示例:bypass内核协议栈
当我们使用127.0.0.1的localhost地址,在本地机器上进行发送和接受数据时,整个数据的发送还是要经过完整的内核协议栈。Cilimu的网络借用bfp的sockmap bypass提高整个网络的性能,参考《How to use eBPF for ...
阅读全文...
阅读全文...
Linux伯克利子系统之二:基于BCC的BPF示例程序
结合前面一篇针对BPF的学习,本篇文章重点介绍编写一个对内核系统调用exec的例子。本测试例子基本上包含了全部的,syscall类别系统调用的BPF的框架。#!/usr/bin/python
from __future__ import print_fu...
阅读全文...
阅读全文...
Linux伯克利子系统之一:BPF概述
BPF的英文是Berkeley Packet Filter的缩写,直白的翻译过来就是伯克利数据包过滤器,从这个英文翻译可以看出,BPF原先是针对网络的数据包进行各种操作处理的一个工具集。目前已经发展到对内核事件和用户空间事件进行跟踪的一套综合的工具集...
阅读全文...
阅读全文...