【第二期】DevEco Profiler调优工具简介
为了帮助开发者更高效地进行鸿蒙应用开发的性能问题分析,DevEco Studio提供了场景化调优工具DevEco Profiler,希望为开发者带来高效、直通代码行的调优体验。开发者可以使用DevEco Profiler完成不同应用模型和场景下的完整性能数据采集,通过简单的工具操作即可完成数据采集,这些数据将帮助开发者洞悉应用在相应场景下的运行细节。

本原创文章帖发布在华为开发者联盟社区,欢迎开发者前往访问评论交流,更多与该内容相关讨论,请点击原帖查看:
DevEco Profiler调优工具简介-华为开发者话题 | 华为开发者联盟
为了帮助开发者更高效地进行鸿蒙应用开发的性能问题分析,DevEco Studio提供了场景化调优工具DevEco Profiler,希望为开发者带来高效、直通代码行的调优体验。开发者可以使用DevEco Profiler完成不同应用模型和场景下的完整性能数据采集,通过简单的工具操作即可完成数据采集,这些数据将帮助开发者洞悉应用在相应场景下的运行细节。
工具整体设计遵循了Top-Down的设计理念和数据展示范式。被采集的数据经由工具分析,会由浅到深的以一条条泳道的形式直观地呈现到界面上,DevEco Profiler提供深入具体函数运行热点、CPU调度细节的分析能力,帮助用户搭建HarmonyOS应用性能模型。

您可以通过如下三种方式打开Profiler:
• 在DevEco Studio顶部菜单栏中选择“View -> Tool Windows -> Profiler”。
• 在DevEco Studio底部工具栏中单击“Profiler”。
• 使用“Ctrl+Shift+A”(macOS中为双击“Shift”)打开搜索功能,搜索“Profiler”。
• 
界面布局

DevEco Profiler工具的界面主要分为会话区、数据区。
会话区
负责调优会话的管理。会话区提供了性能实时监控工具Realtime Monitor来帮助开发者先明确问题场景,完成问题的发现和初步定界。开发者可以在会话区选择待调优的设备、应用及当前应用进程,当前已创建的调优分析任务将在下方以列表的形式展示。
每个会话是一份独立完整的性能数据单位,是由开发者通过一次录制得到的,同一个会话中的各种数据经过工具的处理可以互相关联,而不同会话间的数据,由于来自不同时间段的录制,不会具备关联关系。实时监控本质上也是一种会话,是由实时监控这个场景模板创建的。录制会话时需要注意,确保场景复现完整后再结束该次会话的录制。
同时会话区提供Frame、Launch等一系列场景化分析任务类型,帮助开发者有针对性的采集并展示更多更详细的数据,这些数据将会还原对应场景下的应用运行状况。
DevEco Profiler左侧为会话区,可以分为三个部分。

① 调优目标选择区域。用于选择设备及要分析的应用和进程。
② 会话列表区域。
• 记录当前已创建的调优分析会话,默认显示实时监控(Realtime Monitor)任务,每个会话包含:会话名称(图例中的”Launch”)、当前状态(图例中的”Recorded”)、录制时长(图例中的”7s 605ms”);单击列表中会话后,右侧数据区将显示具体的数据内容;会话支持拖拽方式调整顺序。
• 录制/删除会话:将鼠标悬停在图标上,会话要观测的调优对象的基本信息会以Tooltip形式展示。点击右侧的/按钮,开启/停止会话录制,开发者可以操作应用复现性能劣化场景;录制完成出现图标,表示数据处于解析状态,请等待解析完成。点击将删除该会话。

• 数据导出:待数据解析完成后,会话便会进入数据展示状态,将数据可视化展示到右侧的数据区中。此时可以点击会话面板中出现的数据导出按钮,将录制到的数据导出到本地进行保存,借助这个能力,开发者可以方便的在团队内共享录制到的性能数据,也可以防止采集到的性能数据丢失。
• 查看会话:会话区存在活跃会话和历史会话两种,活跃会话可直接看到,历史会话需要点击View Successful Sessions查看,两种会话总数量不超过15个。开发者主动选择新的调优目标后,相关会话进入历史会话。历史会话中支持删除会话和数据导出。
③ 场景化模板选择区域。
• 创建会话:DevEco Profiler提供Frame 、Launch 、Snapshot 、Allocation 、ArkUI 、ComMemory 、Energy 、ArkWeb 、Network 、Concurrency 、GPU 、Time 、CPU 等场景化分析模板,提供对不同性能问题场景的数据分析方案,选中任意模板图标,点击下方Create Session按钮,即可创建出一个全新的会话。
• 数据导入:在③场景化模板选择区域,点击Open File按钮,即可选择数据进行导入。当前支持导入.insight,.htrace, .ftrace,.heapsnapshot,.rawheap, .sys,.perfdata,.data,.nas(包含Native Allocation数据的文件),.txt(包含Native Allocation数据的文件),.acm文件。
• 配置Profiler缓存路径:在③场景化模板选择区域,点击左上方设置按钮,设置Profiler缓存文件的保存路径。

数据区
在数据区域,DevEco Profiler提供了对性能数据的可视化呈现结果。包含工具控制栏、时间轴、泳道区域、详情区域,通过不同泳道展示,直观展示调优详情。

整个数据区可以分为五个区域:
① 工具控制栏:提供标记、收藏、离线符号导入、泳道过滤、泳道启动配置项等功能的管理以及会话状态和时间轴的控制能力。

② 时间轴:提供横向时间轴,用于显示数据时间戳。
③ 标记栏:用于放置标记,能够帮助开发者标记时间点或时间段。
④ 泳道区:泳道图区域。每个场景化模板都会预置一系列泳道(例如上图的“Frame”便是一个泳道)。泳道是整个DevEco Profiler工具内,数据组织的最小独立单元,用于剖析应用某一特定维度的运行数据,每个场景化模板均是由一系列泳道组成,每个泳道都会呈现某一维度的性能数据。开发者可以查看数据随时间变化的特征,发现数据异常的时间段,支持框选时间段后在详情面板查看对应的细节。

⑤ 详情区:展示详细的数据细节。开发者在泳道区域选择数据之后,以各类表格的形式呈现该时间段内各项详细数据。More面板将对左侧详情区中选中数据进行补充描述。
本文主要对DevEco Profile的基础布局元素进行了介绍,下一篇我们将对工具进行详细操作介绍。
🔗 官网开发者学堂视频: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协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务
- 目前还没评论,等你发挥!

起点课堂会员权益



