eBPF学习实践系列(六) -- bpftrace学习和使用
bpftrace学习和使用 1. 背景 前面学习bcc和libbpf时,提到Brendan Gregg等大佬们编写的工具集(几个示意图可参考:eBPF学习实践系列(一) – 初识eBPF ),这些工具已经能提供很丰富的功能了。 但是想自己跟踪一些想要的个性化信息时,需要基于Python或者C/C++写逻辑,写完后有时还要调试各类编译问题,于是学习下bpftrace的使用,实践中更容易上...
bpftrace学习和使用 1. 背景 前面学习bcc和libbpf时,提到Brendan Gregg等大佬们编写的工具集(几个示意图可参考:eBPF学习实践系列(一) – 初识eBPF ),这些工具已经能提供很丰富的功能了。 但是想自己跟踪一些想要的个性化信息时,需要基于Python或者C/C++写逻辑,写完后有时还要调试各类编译问题,于是学习下bpftrace的使用,实践中更容易上...
通过eBPF跟踪TCP全连接队列溢出现象并进行分析,基于libbpf和bpftrace。 1. 说明 继续上一篇 TCP半连接全连接(三) – eBPF跟踪全连接队列溢出(上) 说明:本博客作为个人学习实践笔记,可供参考但非系统教程,可能存在错误或遗漏,欢迎指正。若需系统学习,建议参考原链接。 2. libbpf跟踪 基于libbpf-bootstrap框架,先参考bcc项目中的 ...
通过eBPF跟踪TCP全连接队列溢出现象并进行分析,先基于bcc tools。 1. 背景 在“TCP半连接全连接(一) – 全连接队列相关过程”这篇文章中,进行了全连接队列溢出的实验,并且遗留了几个问题。 半连接队列溢出情况分析,服务端接收具体处理逻辑 内核drop包的时机,以及跟抓包的关系。哪些情况可能会抓不到drop的包? systemtap/ebpf跟踪TCP状态...
ollama搭建本地个人知识库 1. 背景 大模型发展如火如荼,前段时间也打算后面建立自己的知识库,一直没行动。 由于一些因素实在忍受不了了: 近期工作上碰到好几次找之前笔记没找到,明明记得之前记过就是找不到 而且以前的一些笔记很多都不会去看,看了几个反而不如GPT清晰,不用起来以后更不会看了 本地笔记用markdown记录,然后全局搜索关键词,需要精确匹配到key,自...
跟踪分析bcc项目ibbpf-tools中的 tcplife.bpf.c 程序 1. 背景 前面的eBPF学习实践系列主要是跟着别人的文章学习,积累了比较理论的知识。 TCP半连接全连接(三) – eBPF跟踪全连接队列溢出(上) 这篇中,自己要写eBPF程序了,带着实践的目的去参考已有工具代码,发现视角完全变了。 之前的理论知识很多都串起来了,再次体会到如这篇文章:举三反一–从理论...
eBPF追踪类型学习整理 1. 背景 前面涉及了helloworld级别程序的开发流程,本文梳理学习梳理各种追踪机制及使用方式。 并结合BCC和libbpf-bootstrap中的示例进行学习。 几种追踪机制: Tracepoints(Kernel Tracepoints),内核预定义跟踪点,跟踪特定事件或操作,是静态定义的 Kprobes(Kernel Probes),...
Excalidraw白板工具和快捷键 1. 工具简要介绍 1.1. excalidraw Excalidraw 是一个开源的无限画布的手绘效果白板绘图工具,支持多人协作和端到端加密。 Excalidraw 的作者是一位目前在 Facebook 工作的法裔前端开发工程师 Vjeux。除了是 Excalidraw 的作者之外,还是 React Native、Prettier 的联合创始人...
基于libbpf开发实践 1. 背景 最近初步学习了libbpf-bootstrap和BCC (其中的bcc tools/libbpf-tools)。并在一个环境A里从BCC项目(0.23.0版本)中的libbpf-tools移植了tcpconnect工具到libbpf-bootstrap,成功编译运行了;但是在另一个环境B里(0.19.0版本),依赖的工具类文件比较多就不再移植测试了。...
CentOS的/boot分区空间不够用了,记录失败的扩容过程。 1. 背景 在“eBPF学习实践系列(二) – bcc tools网络工具集”里,实验tcpretrans时想用tc构造重传的场景。需要安装kernel-modules-extra,提示/boot空间不够了,之前装系统只分配了220M左右(Windows+CentOS8.5的双系统)。 于是准备进行扩容,虽然最终失败,但是...
bcc tools工具集中网络部分说明和使用。 1. 背景 上篇(eBPF学习实践系列(一) – 初识eBPF)中提到性能分析大师Brendan Gregg等编写了诸多的 BCC 或 BPFTrace 的工具集可以拿来直接使用,可以满足很多我们日常问题分析和排查,本篇先学习下网络相关的几个工具。 参考 说明:本博客作为个人学习实践笔记,可供参考但非系统教程,可能存在错误或遗漏,欢迎...