1# Bio 的抓取和展示说明 2 3抓取和展示 IO 延迟的数据。 4 5## Bio 的抓取 6 7### Bio 抓取配置参数 8 9 10配置项说明: 11 12- Start BIO Latency Record:配置项的总开关。 13- Process:默认配置的是整个系统的,也可选择单进程抓取。 14- Max Unwind Level:配置抓取调用栈的最大深度。 15 再点击 Record setting,在 output file path 输入文件名 hiprofiler_data_bio.htrace,拖动滚动条设置 buffer size 大小是 64MB,抓取时长是 50s。 16  17 点击 Trace command,就会根据上面的配置生成抓取命令,点击 Record 抓取,抓取过程中会显示抓取时长。 18  19  20 21### Bio 展示说明 22 23抓取结束后 Bio 的 trace 会自动加载展示。 24 25 26界面布局介绍:页内存整体界面布局分为 3 个部分: 27 28- 红色区域:泳道图。 29- 绿色区域:详细信息。 30- 黄色区域:辅助信息(Callstack)。 31 32### Bio 泳道图展示 33 34Bio 泳道图鼠标悬浮以 10ms 为区间展示该周期内最大的读或者写延迟。 35 36 37### Bio 泳道图的框选功能 38 39可以对泳道图进行框选,框选后在最下方的弹出层中会展示框选数据的统计表格,总共有三个 tab 页。 40Disk I/O Tier Statistics 的 Tab 页如图: 41 42 43- Tier/Process/Path:按照Tier,Process,Path的维度去展示。 44- Count:事件数量。 45- Total Latency:每种进程,事件的总延迟。 46- Min Total Latency:最小延迟时间。 47- Avg Total Latency:平均延迟时间。 48- Max Total Latency:最大延迟时间。 49 Disk I/O Latency CallTree 的 Tab 页如图: 50  51- Call Stack:为经过符号解析后的Callstack,并且给出动态链接库或者进程名的信息。 52- Local:为该调用方法自身占用的 CPU 时间。 53- Weight:为该调用方法占用的 CPU 时间。 54- %:为该调用方法占用的 CPU 时间占比。 55 Trace Completion Times 的 Tab 页如图: 56  57- Start:事件的开始时间。 58- Total Latency:事件的延迟时间。 59- Process:进程名(pid)。 60- Thread:线程名(tid)。 61- Latency per 4KB:每4k数据的延迟时间。 62- Opration:事件类型。 63- Bytes:延迟的数据量。 64- Path:操作的文件路径。 65- Block Number:块数量。 66- Tier:层级。 67- BackTrace:调用栈顶部函数,并显示调用栈深度。 68 69### Bio 支持多种 Options 展示风格 70 71点击 Disk I/O Latency CallTree 的 Tab 页底部的 Options,会有四个 CheckBox 复选框。 72 73 74- Invert:反向输出调用树。 75- Hide System so:隐藏系统库文件。 76- Hide Event:隐藏事件。 77- Hide Thread:隐藏线程。 78 79### Bio 支持过滤调用栈调用次数的展示风格 80 81点击 Disk I/O Latency CallTree 的 Tab 页底部的 Sample Count Filter,可以填上区间值。过滤出符合该区间值调用次数的调用栈信息。 82 83 84### Bio 功能的调用栈 Group 展示-数据分析支持剪裁功能 85 86 87 88- 裁剪 Callstack,点击 Callstack 上一个节点符号,再点击底部 Symbol Filter 按钮,则该符号自动被裁剪掉,同时将该节点往下所有的 Callstack 内容裁剪掉。 89 90- 裁剪 Library,点击 Library 上一个节点符号,再点击底部 Library Filter 按钮,则该符号自动被裁剪掉,同时将该节点往下所有的 Callstack 内容裁剪掉。 91- 先选中要恢复的内容,再点击 Reset 按钮,将恢复选中的裁剪内容。 92 93### Bio 功能的调用栈 Group 展示支持按条件过滤 94 95在 Input Filter 输入关键字,会显示出带有该关键字的展示信息。 96 97 98### Bio 辅助信息区展示调用栈 99 100当在详细信息区选择一个符号时,将展示与该符号相关的完整的调用栈。如下图的 Heaviest Stack Trace: 101 102 103### Bio 的 Tier 的过滤 104 105通过选择根据 Tier 去过滤。 106 107 108### Bio 的火焰图功能 109 110点击 Disk I/O Latency CallTree 左下角的柱状图的图标,会切换到火焰图页面。 111 112进入到火焰图页面,火焰图的展示跟 Callinfo 的 tab 页的调用栈显示一致,鼠标放到色块上,悬浮框可以显示调用栈名称、所属 Lib 库、函数地址、耗时及其占比。 113 114鼠标左键火焰图,会进入下一级界面,左键上级则返回上一级界面。 115 116