如何用DevEco Profiler的实时监控检测各项资源使用情况

0 评论 120 浏览 0 收藏 12 分钟

通过DevEco Profiler的实时监控(Realtime Monitor)检测各项资源使用情况,可以识别并定界潜在的性能瓶颈及热点区域,例如CPU占用超过预期、内存异常增大等,帮助开发者了解到当前应用具体运行情况和可能出现性能问题的热点区域。

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

如何用DevEco Profiler的实时监控检测各项资源使用情况-华为开发者话题 | 华为开发者联盟

 

通过DevEco Profiler的实时监控(Realtime Monitor)检测各项资源使用情况,可以识别并定界潜在的性能瓶颈及热点区域,例如CPU占用超过预期、内存异常增大等,帮助开发者了解到当前应用具体运行情况和可能出现性能问题的热点区域。

实时监控面板和泳道介绍

实时监控界面左侧为实时数据展示区域,该区域的数据显示了每一项监测内容的瞬时值,并通过饼图或者仪表盘的形式让您更加直观地观察到各项数据的使用占比以及具体数值。界面右侧为各项数据随着时间推移的变化趋势,通过不同的图像形式(直方图、柱状图、折线图等)来更加清晰的展示某一项资源在一段时间范围内的变化趋势,以帮助您快速判断性能热点区域。

整个实时监控页面从上到下,通过System Events、Anomaly、CPU等泳道展示系统事件、异常事件、CPU占用维度数据,帮助开发者从多个维度来识别应用的性能热区。下面为您依次介绍每一条泳道的数据内容。

1. System Events泳道:该泳道展示了时间窗内系统事件的起始、终止等状态的统计情况。泳道内存在三种形状的标识:

o 菱形:表示事件开始。

o 正方形:表示事件结束。

o 圆形:表示当前时间点事件,无持续时间。

2. Anomaly泳道:用于展示设备侧上报的各种异常事件。

3. Foreground Ability泳道:用于展示应用/元服务的Ability状态。当Ability在前台运行时,会在此时间段内显示该Ability的名称;若当前无前台运行的Ability,则此时间段内显示“Background”。

       4. CPU泳道:左侧饼图展示了当前时刻应用/元服务的CPU使用率、其他进程的CPU使用率以及空闲情况。右侧的泳道图则展示了时间窗内的整体CPU使用情况,其中灰色的部分代表系统中其他进程的CPU占用,蓝色部分则展示了当前应用/元服务的CPU占用情况。

       5. Memory泳道:左侧饼图展示了当前时刻应用/元服务的内存占用、其他进程的内存占用以及未使用的内存。右侧的泳道图则展示了时间窗内的整体内存使用情况,其中灰色的部分代表系统中其他进程的内存占用,蓝色部分则展示了当前应用/元服务的内存占用情况。

Current Process:当前时刻应用/元服务的内存占用。

Other Processes:其他进程的内存占用。在5.1 Release版本之前,cached缓存空间(内存会被系统自动回收)占用的内存被计入Other Processes内存中。

Free:未使用的内存。在5.1 Release版本及以后,cached缓存空间占用的内存被计入Free内存中。

说明:当前应用内存展示的是应用的PSS值,如需了解内存详细信息请参考内存分析介绍 。此处的PSS值比hidumper略大,原因是hidumper计算过程中会执行取整操作,计算值偏小。

6. FPS泳道:左侧仪表盘展示了当前设备屏幕的帧率瞬时值,红色、黄色、绿色区域则代表当前屏幕帧率是否达到理想状态。右侧柱状图则展示了每一次采集设备帧率时的数值。该泳道仅支持在配备硬件屏幕的设备上进行数据采集。

7. GPU泳道:左侧仪表盘展示了当前设备GPU使用率的瞬时值,右侧泳道则展示了时间窗内的整体GPU使用率。

8. Temperature泳道:左侧温度计显示了当前设备温度信息,右侧泳道的数据采集周期为3秒,展示了时间窗内的设备温度信息以及温度等级。该泳道暂不支持在TV/2in1/Car设备上进行应用性能分析。

9. Network Traffic泳道:左侧区域内仪表盘展示了当前设备网络上行瞬时速率和下行瞬时速率,仪表盘右边展示了时间窗内上行总流量和下行总流量。右侧泳道柱状图则展示了时间窗内网络流量消耗的实时情况。

说明:FPS、GPU、Temperature泳道显示的是所使用设备的实时信息,而非当前调优应用/元服务的信息。

实时监控常用操作

实时监控页面除了展示各个维度数据的瞬时值以及时间窗内的变化趋势之外,还提供了多种交互方式以供您更加便捷、快速、细致地分析您的数据。

• 启停控制

点击会话区Realtime Monitor”页签上的按钮或工具控制栏上的 来即时控制实时监控界面的录制状态。

• 泳道筛选

点击工具控制栏上的按钮,可以选择泳道进行筛选。筛选无需录制的泳道,可以降低数据采集本身的开销,但同时会造成数据分析维度的减少。

• 详细数据展示

将鼠标悬浮于所关心的泳道数据上时,界面上会出现当前时间点的时间标线以及含有当前时间点上泳道详细数据的Tooltips。更进一步,当您将鼠标悬浮于时间轴上时,实时监控页面内的所有泳道均会以Tooltips展示出该时刻的数据。

• 图例选择

实时监控界面部分泳道内的图例均支持选择/反选来增加/去除泳道内这一数据的展示,能够更加专注地分析所关心的数据。

实时监控操作步骤

为了能够正确地监测您的设备资源,首先您需要使用USB或无线调试连接方式完成设备连接,然后通过DevEco Studio将您开发的应用安装到设备上。随后您可以通过如下步骤来查看应用的实时资源使用情况。

1. 使用USB连接方式使用无线连接方式,将真机设备与PC连接。无线连接方式从DevEco Studio 6.1.0 Beta1开始支持。

2可以通过如下三种方式打开DevEco Profiler:

(1)在DevEco Studio顶部菜单栏中选择“View > Tool Windows > Profiler”。

(2)在DevEco Studio底部工具栏中单击“Profiler”。

(3)使用“Ctrl+Shift+A”(macOS中为双击“Shift”)打开搜索功能,搜索“Profiler”。

       3.在设备上启动您想要监测的应用。

       4.DevEco Profiler界面左上角选择调优设备、应用、进程。如果您的应用不止有一个主进程(还存在Extension或者Render进程),那么需要手动选择一个想要监控的进程。

 通本文章已经学会了如何实际监控系统的一些系统事件、异常事件、CPU占用、内存占用、实时帧率、GPU使用率、温度等多维度数据。下一章节我们将带了解“深度录制”监控应用运行时数据。

 

———————————————————————————————————-

🔗 官网开发者学堂视频: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. 目前还没评论,等你发挥!