5、BCC与bpftrace:强大的性能追踪工具

BCC与bpftrace:强大的性能追踪工具

1. BCC工具概述

BCC项目包含70多个BPF工具,许多工具支持通过命令行参数来配置行为。这些工具都配有文档,包括手册页和示例文件。大部分工具是专门用于观察某一类活动的,也有一些是多用途的。

1.1 argdist工具示例

argdist(8) 可以创建强大的单行脚本。在函数退出的探针定义中,可以使用特殊变量 $retval、$entry(param)、$latency 。以下是一些使用示例:
- argdist -H 'p::__kmalloc(u64 size):u64:size' :输出 kmalloc 分配的内存大小直方图。
- argdist -p 1005 -C 'p:c:malloc(size_t size):size_t:size:size==16' :统计 PID 为 1005 的进程调用 malloc 分配 16 字节内存块的频率。
- argdist -C 'r:c:gets():char*:(char*)$retval#snooped strings' :获取 gets() 函数返回的所有字符串。

1.2 工具文档

每个 BCC 工具都有自己的手册页(man)和示例文件。以 opensnoop(8) 为例,其手册页包含以下内容:
| 部分 | 说明 |
| — | — |
| 名称(NAME) | 简要描述工具,如 opensnoop 用于追踪系统调用 open(),使用 Linux 内核中的 eBPF/bcc。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值