深入探索bpftrace与处理器性能分析
1. bpftrace变量与函数详解
1.1 bpftrace变量类型
bpftrace支持三种类型的变量:内置变量、临时变量和映射变量。
- 内置变量 :在bpftrace中预先定义,通常只读。常见的内置变量及其用途如下表所示:
| 变量 | 类型 | 描述 |
| — | — | — |
| pid | 整数 | 进程标识符 |
| tid | 整数 | 线程标识符 |
| uid | 整数 | 用户标识符 |
| username | 字符串 | 用户名 |
| nsecs | 整数 | 纳秒级时间戳 |
| elapsed | 整数 | 自bpftrace初始化以来的纳秒时间 |
| cpu | 整数 | 处理器标识符 |
| comm | 字符串 | 进程名 |
| kstack | 字符串 | 内核空间栈跟踪 |
| ustack | 字符串 | 用户空间栈跟踪 |
| arg0, …, argN | 整数 | 某些类型探针的参数 |
| args | 结构体 | 某些类型探针的参数 |
| retval | 整数 | 某些类型探针的返回值 |
| func | 字符串 | 被跟踪函数的名称 |
| probe | 字符串 | 当前探针的全名 |
| curtask | 整数 | 内核中的task_struct作为64位无符号整数 |
| cgroup | 整数 | cgroup标识符 |
| $1
超级会员免费看
订阅专栏 解锁全文
76

被折叠的 条评论
为什么被折叠?



