BPF工具开发与应用全解析
1. BCC工具开发基础
在开发BCC工具时,有一些基础的逻辑和输出规则。例如,存在按固定间隔输出指定次数的逻辑,变量 countdown 控制输出次数。当程序以 -T 参数启动时,会输出时间戳。
在输出磁盘的直方图时,代码中的第134行承担了这一任务。第一个参数是包含“usecs”或“msecs”文本的变量 label ,它会显示在数值列的上方;第二个参数用于确定二级键(如果 dist 中存储了每个磁盘的直方图)。理解 print_log2_hist() 如何确定二级键的存在,是深入学习BCC和BPF内部组件代码的一个挑战。第135行则负责清空直方图,为下一个间隔做准备。
以下是一个以 -D 参数运行程序输出每个磁盘单独直方图的示例:
# biolatency -D
Tracing block device I/O... Hit Ctrl-C to end.
^C
disk = 'xvdb'
usecs : count distribution
0 -> 1 : 0 | |
2 -> 3 : 0 |
超级会员免费看
订阅专栏 解锁全文
596

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



