【第三期】DevEco Profiler调优工具基础操作

0 评论 121 浏览 0 收藏 13 分钟

上一篇我们已经掌握了DevEco Profiler的基础元素,本文将带领大家进行实操一些性能相关分析的基础操作。

本原创文章帖发布在华为开发者联盟社区,欢迎开发者前往访问评论交流,更多与该内容相关讨论,请点击原帖查看:

DevEco Profiler调优工具基础操作-华为开发者话题 | 华为开发者联盟

 

上一篇我们已经掌握了DevEcoProfiler的基础元素,本文将带领大家进行实操一些性能相关分析的基础操作。

开启/关闭会话控制

在数据区,首先可以开启和结束会话的录制,点击工具栏的首个按钮即可,如下图所示分别对应开启录制、结束录制功能,第三个状态则代表录制完成。与在会话区域录制的功能效果一致。

时间轴控制

       DevEco Profiler工具提供了各种丰富的时间轴操作功能:

          • 数据全量展示按钮,点击后时间轴尺度自动调整,将展示会话完整时间范围内的数据。

          • 时间轴调整按钮(快捷键为W或使用Ctrl+鼠标滚轮),点击后时间轴所展示的时长将变小,更多数据细节会呈现。

          • 时间轴调整按钮(快捷键为S或使用Ctrl+鼠标滚轮),点击后时间轴所展示的时长将变大,更易于观测整体数据趋势。

拖动泳道区域下方的滑条(快捷键为A/D或使用Shift+鼠标滚轮),开发者可以调整时间轴所示的时间范围;拖动泳道右侧滑条(或者滑动鼠标滚轮),可以调整泳道上下滚动。

查看详情面板

当开发者在泳道区域观察到可疑数据后,便可以通过框选或者点选的方式,将相关详细数据展示到详情面板中。泳道中条块状的数据支持点选查看,在泳道区域鼠标点击拖动再释放完成框选。可以在框选的同时按住Alt键,完成框选后时间轴尺度将会自动适应,整个框选时段会充满整个泳道区域,方便聚焦观察被选择的时段。

由于不同的泳道会展示不同维度的数据,因此详情面板展示的数据是来自于泳道区域中被选择的泳道单元。被选中的泳道单元会呈现蓝色,与其他泳道单元有明显差异。此外,当开发者直接选中泳道单元,而未进行框选或点选时,详情面板中会展示整个泳道单元的完整详细数据(效果等同于完整框选该泳道单元)。

添加/编辑标记

为了便于开发者记录分析出的关键时间点,DevEcoProfiler工具提供了标记功能供开发者使用。DevEcoProfiler支持两种时间标记:

          • 单点时间标记:单击需要关注的时间点,添加的时间标记显示为(快捷键为M,颜色可自定义)。

• 时间段时间标记:鼠标框选要关注的时间段,单击该时间段右上角的添加时间段起始标记(快捷键为Shift+M,颜色可自定义),如下图所示。

标记放置完成后,可以通过双击标记按钮,在弹出的标记属性框中修改标记的描述和颜色信息,或者删除标记。

通过快捷键“Ctrl+, ”向前选中单个标记,“Ctrl+. ”向后选中单个标记;“Ctrl+[ ”向前选中时间段的标记,“Ctrl+]”向后选中时间段时间标记。此外,工具还提供了查看不同标记之间时间差的能力,只需要先选中一个标记,再将鼠标悬浮在其他标记点上,便可在面板右下角后看到被悬浮的标记点和被选择的标记点的时间差。借助这个能力,开发者能够快速获知一些特定时刻的时间差,这对于分析时间敏感的性能问题尤其有用。

收藏泳道

在使用工具分析,可能会遇到泳道过多,导致想分析的泳道单元间隔过远、分析低效的情况,使用收藏功能,可以帮助开发者将关注的泳道单元提拉到泳道区域的顶端。将鼠标悬停在想要收藏的泳道单元之上,出现收藏图标,点击该按钮即可完成收藏。

再次点击该按钮则取消收藏。此外,由于顶部区域空间有限,工具还提供了压缩泳道的能力,点击泳道中图标,可以将收藏的泳道进行折叠。

如果收藏的是父泳道,且泳道标题展示不完整,当鼠标悬浮到泳道标题区,会提示该泳道的泳道标题信息。

如果收藏的是子泳道,当鼠标悬浮到收藏的子泳道标题区,会提示该泳道的父泳道和子泳道标题信息。

展开/折叠子泳道

工具提供了两种方式展开/折叠子泳道:

       1、点击父泳道左边小三角符号

       2、双击父泳道表头区展开泳道。

全局搜索

为了帮助开发者迅速查找关心的性能数据,DevEcoProfiler工具提供了全局搜索功能。

       1. 在搜索框选项区可选择搜索类型,支持搜索泳道和搜索泳道数据,默认搜索泳道数据。

2. 搜索泳道数据,在输入内容前或搜索到结果后希望进一步确认搜索范围,可以选择在全时段内搜索或者在框选的时间范围内搜索;也可以选择在所有泳道内搜索或者在选择的泳道范围内搜索。

3. 可以点击Cc按钮,设置输入的关键字是否忽略大小写,默认为忽略大小写,点击时可自动重新触发搜索,搜索结果数量会显示在搜索栏右侧。有搜索结果的关键字会自动被记录到历史记录中,开发者可以通过点击或者按钮,向前向后查看搜索结果,泳道区域会自动跳转到对应的结果位置并为开发者选中该结果,详情面板中会自动刷新出相应详细数据。

离线符号解析

为便于开发者分析Native的函数热点,工具提供了符号导入的能力,开发者可以点击工具控制栏的按钮,选择带有调试信息的so库导入,之后工具会利用此信息,将采集到的函数偏移信息转换为对应的源码符号(包括系统so库、用户自编译的so库、三方库)。

       

源码跳转

找到问题源码是调优过程中最为关键的一环。针对详情面板中所展示的函数帧信息(如下图所示),双击帧节点,工具便会在编辑器中打开相关源码文件,并定位到对应行号。此功能正常使用的前提是用于抓取性能数据的应用,是在DevEcoStudio的当前工程开发编译,且相关源文件位置并未改变。

通过本文你已经学会了工具的使用,后续我们将带领大家进行各种性能问题的实操分析。

 

🔗 官网开发者学堂视频:https://developer.huawei.com/consumer/cn/training/result?type2List=201783644516849879&orderBy=1&courseType=5

🔗 社区DFX专题文章:  https://developer.huawei.com/consumer/cn/forum/subject/2101218731402391001

【扫码加入 HarmonyOS DFX 技术交流群】

本文由 @华为开发者联盟 授权发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!