在上篇文章中介绍了Profiler的整体布局和会话区。本章重点介绍数据区的操作,包括工具控制栏、时间轴控制、泳道操作、标记功能、搜索和源码跳转等功能。

一、数据区整体布局

数据区分为五个区域:

区域 功能
① 工具控制栏 标记、收藏、离线符号导入、泳道过滤、泳道启动配置项、会话状态和时间轴控制
② 时间轴 横向时间轴,显示数据时间戳
③ 标记栏 放置标记,帮助标记时间点或时间段
④ 泳道区 数据组织的最小独立单元,展示不同维度的性能数据
⑤ 详情区 展示详细数据细节(表格形式)

工具控制栏功能

图标 功能 说明
标记列表 查看/跳转到标记,支持修改颜色
收藏泳道 隐藏/折叠收藏的泳道
离线符号导入 导入带调试符号的so库,还原Native函数栈符号
泳道筛选 选择泳道进行过滤(降低开销但减少维度)
泳道启动配置 展示不同泳道对应的插件启动配置信息,支持保存到配置文件

原则:每个场景化模板的泳道遵循Top-Down分析原则,越底部的泳道越接近系统底层,建议自顶而下分析。

二、基本操作

2.1 开启/关闭会话控制

工具栏首个按钮控制会话录制,与会话区录制功能一致。

2.2 时间轴控制

操作 快捷键 效果
数据全量展示 - 展示会话完整时间范围
时间轴放大 W 或 Ctrl+鼠标滚轮 展示更多数据细节
时间轴缩小 S 或 Ctrl+鼠标滚轮 展示整体数据趋势
调整时间范围 A/D 或 Shift+鼠标滚轮 拖动滑条调整
上下滚动泳道 鼠标滚轮 调整泳道上下滚动

注意:仅在泳道区域被激活(有亮蓝色选中边框)时快捷键生效。

2.3 详情面板查看

操作 说明
点选 点击条块状数据查看详情
框选 鼠标点击拖动再释放完成框选
框选+Alt 框选时段自动充满整个泳道区域
选中泳道单元 未框选时展示完整详细数据

三、标记功能

3.1 两种标记类型

类型 操作 快捷键
单点时间标记 单击需要关注的时间点 M
时间段时间标记 框选时间段,点击右上角添加按钮 Shift+M

3.2 标记管理

操作 说明
修改标记 双击标记按钮,修改描述和颜色
删除标记 双击标记按钮,点击删除
选中标记 Ctrl+,向前选中单个标记,Ctrl+.向后选中单个标记
选中时间段标记 Ctrl+[向前选中,Ctrl+]向后选中

3.3 标记时间差

先选中一个标记,将鼠标悬浮在其他标记点上,右下角会显示两个标记点的时间差。

四、泳道操作

4.1 收藏泳道

将鼠标悬停在泳道单元上,点击收藏图标,可将关注的泳道提拉到泳道区域顶端。再次点击取消收藏。

4.2 折叠泳道

点击泳道中的折叠图标,可将收藏的泳道进行折叠。

4.3 展开/折叠子泳道

方式 操作
方式一 点击父泳道左边小三角符号
方式二 双击父泳道表头区

4.4 泳道标题提示

  • 父泳道:鼠标悬浮标题区,提示泳道标题信息

  • 子泳道:鼠标悬浮标题区,提示父泳道和子泳道标题信息

五、全局搜索

5.1 搜索类型

搜索类型 说明
搜索泳道 搜索泳道名称
搜索泳道数据(默认) 搜索泳道中的性能数据

5.2 搜索范围

  • 时间范围:全时段 或 框选的时间范围

  • 泳道范围:所有泳道 或 选择的泳道范围

5.3 搜索设置

  • 忽略大小写:点击Cc按钮切换,默认为忽略大小写

  • 历史记录:有搜索结果的关键字自动记录

  • 结果导航:点击向前/向后按钮查看搜索结果

六、离线符号

点击工具控制栏的离线符号导入按钮,选择带有调试信息的so库导入,工具会将采集到的函数偏移信息转换为对应的源码符号。

注意事项

注意事项 说明
优化等级一致 导入的so需与release版本保持同一优化等级(-O1, -O2, -O3等)
编译选项一致 尽可能与release版本编译选项保持一致,防止so起始地址不一致

七、源码跳转

双击详情面板中的函数栈帧节点,工具会在编辑器中打开相关源码文件,并定位到对应行号。

前提条件:抓取性能数据的应用在DevEco Studio当前工程开发编译,且相关源文件位置未改变。

   鸿蒙DevEco Profiler数据区提供完整的性能数据可视化分析:工具控制栏支持标记/收藏/离线符号导入/泳道筛选,泳道区展示各维度性能数据(遵循Top-Down原则),详情区展示选中数据细节,支持时间轴控制(W/S/A/D)、标记(M/Shift+M)、全局搜索、离线符号导入和源码跳转双击栈帧等操作,可以从数据定位到具体代码行。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐