bpftrace 语法
probe 格式: type:identifier1[:identifier2[…]]
bpftrace -e:
probe1, probe2,… /filters/ {actions1;actions2…;}
variables:
built-in: pid、comm、nsecs、curtask
scratch: $ 临时计算使用,第一次赋值声明,$x = 1 只能在action 内部使用
map: @ 全局存储 或者 在actions 之间进行数据传递
probe1 { @a = 1; }
probe2 { $x = @a; }
@path[pid, $fd] = xxx;
map function:
@X = COUNT();
per-cpu map
@x++
global cpu map, 注意并发问题
@y = sum($x);
@z = hist($x);
print(@x)