包含标签 tracepoint 中的文章

基于 BPF 任务迭代器实现零侵入性能分析工具 xstack

本文地址:https://www.ebpf.top/post/passive-linux-stack-sampler-ebpf 1. 背景 2. xstack 工具简介 2.1 构建 2.2 工具使用方式 2.3 实现命令行火焰图 3. xstack 实现原理 3.1 工具实现原理 4. 实现源码解析 4.1 内核空间源码 3.2 用户空间核心代码 5. 总结 6. 代码附录 6.1 eBPF 核心代……

阅读全文

BPF 跟踪机制之原始跟踪点 rawtracepoint 介绍、使用和样例

本文地址:https://www.ebpf.top/post/bpf_rawtracepoint 1. eBPF Trace 跟踪常见的 Hook 类型 2. BPF 原始跟踪点 rawtracepoint 2.1 跟踪性能优化提升 20% 2.2 rawtracepoint 跟踪事件查看及数量统计 2.3 传递参数变化 3. BPF 程序中使用 rawtracepoint 样例 3.1 libbpf 库 (基于 CO-RE) 3.2 bpftrace 样例代码 参考 1. eBPF Trace 跟踪常见的 Hook 类型 通过……

阅读全文

【BPF入门系列-10】使用 tracepoint 跟踪文件 open 系统调用

1. 什么是 tracepoint tracepoint 的介绍可以参见 Kernel 文档这里。从 Linux 内核 4.7 开始,eBPF 程序可以挂载到内核跟踪点 tracepoint。在此之前,要完成内核中函数跟踪的工作,只能用 kprobes/kretprobe 等方式挂载到导出的内核函数(参见 /proc/kallsyms),正如我们前几篇文章跟踪 open 系统调用方式那样。尽管 kprobes 可以达到跟踪的……

阅读全文