当前位置:首页 > 芯闻号 > 新闻速递
[导读]基于开发痛点,HarmonyOS NEXT通过构建Smart Perf工具全家桶,为开发和测试人员提供了测试、调优、分析一站式服务,接下来让我们一起来看Smart Perf如何解决开发性能问题。

在软件开发的过程中,很多开发者都经常会遇到一些性能问题,比如应用启动慢、点击滑动卡顿、应用后台被杀等,想要解决这些问题势必需要收集大量系统数据。而在收集数据的过程中,开发者则需要在各种工具和命令之间来回切换,不但容易错过问题发生时间点,数据收集完如何能将信息有效结合分析又将是一件复杂的工作。基于开发痛点,HarmonyOS NEXT通过构建Smart Perf工具全家桶,为开发和测试人员提供了测试、调优、分析一站式服务,接下来让我们一起来看Smart Perf如何解决开发性能问题。

在SmartPerf工具全家桶中,SmartPerf Host主要提供性能调优能力,目前可提供调优数据一键抓取,系统调度分析,CPU使用情况展示,调用栈展示,Native Memory跟踪和分析,文件系统跟踪,Trace抓取和分析和高阶使用方式(用户可以通过自定义SQL细粒度查询性能调优数据)等能力。想要了解Smart Perf Host如何在大量数据中进行性能问题快速分析,首先可通过典型场景分析模版来进行深入了解。

一、Smart Perf Host典型场景分析模板

目前已知Smart Perf Host场景分析模版提供整机CPU调度分析模板以及内存调优场景分析,在CPU调度分析模板中,可做到自动分析CPU调度数据,并协助发现CPU调度瓶颈。

具体操作过程首先开发者可选择左侧导航栏中的“模板抓取(Record Template)”,然后连接设备,选择调度分析模板,开始抓取操作;待抓取完成后,就可以通过导航栏中的Scheduling Analysis自动进行数据分析和显示。调度分析模板可以按照CPU粒度和线程粒度进行数据分析和展示。通过CPU粒度分析,开发人员可用来查看即CPU资源在被哪些任务使用。相对应可快速分析以下场景:

CPU大中小核利用情况是否达到调优人员预期

CPU大中小核运行频点是否达到调优人员预期

谁在占用特定CPU的特定频点

大核高频的任务是否可以往中小核迁移,以降低能耗

功耗分析:Cpu idle值越大,睡眠越深,功耗越低

各个CPU除了在执行任务,还在处理哪些中断

而线程粒度分析,线程总运行时长,则可以用来查看特定任务在使用哪些CPU资源,可快速分析如下场景:

占用大、中、小核和总CPU的TOP线程是否为预期线程

关键线程(比如UI,RS等)大中小核和频点的使用情况是否为预期调度策略

若测试人员关注CPU和线程运行细节,则可以从泳道图继续查看。其中CPU泳道图提供细节数据如下:

当前调用CPU的线程和对应的进程情况

线程唤醒关系链

查看CPU频点供给情况

点选一个线程显示详情页(进程名、线程名、起始时间、时长、优先级、线程状态)

框选CPU泳道可以查看CPU频点和基于线程的CPU运行分布,即框选的这段时间内线程在每个CPU上的运行时长和频点使用时长

另Hiperf是HarmonyOS NEXT所提供的能力,可用来周期访问cpu的运行栈,导出调用栈,不受系统打点影响。目前Smart Perf Host支持能力如下:

支持软硬件events抓取,如:cpu-cycles、instructions和page-faults等

页面内抓取hiperf数据

框选后可查看调用栈

支持条件过滤功能

可查看火焰图

基于以上,我们通过一个实际案例来学习如何通过上述内容进行问题分析:案例如下图所示:

如图我们可看到问题在于某个应用启动时间比较长,首先通过通过整机调度分析模板能够发现tb线程单次运行时间长达79.31ms,且通过CPU泳道确认该线程运行在中核,2.0GHz,因此CPU资源供给没有问题;接下来,我们展开应用进程泳道图,在线程泳道图中可定位出运行时间较长的阶段(但无法看到深层的函数,需使用hiperf进一步分析)。

我们直接通过抓取Hiperf做进一步分析。首先基于上面已经发现的运行时间长阶段,通过M键进行锁定,然后在Hiperf泳道图中选中对应位置,最后使用火焰图定位阻塞函数,能够发现一个jsNapi执行时间太长。

二、基于Smart Perf Host进行内存跟踪和分析

通过Smart Perf Host开发及测试人员可查看内存的分配和释放等情况,了解内存详细信息,并支持火焰图查看。如下图所示,在“Native Memory”中可显示内存详情,比如内存地址,内存申请和释放的时间点,内存大小和单次栈信息等。在不同特定场景中,Native Memory可发挥追踪和分析、内存申请/释放分析、调用栈本地符号化以及支持内存抓取条件可配作用。目前Smart Perf Host工具代码全部开源,想要获取和部署Smart Perf Host工具,可参考以下路径进行编译部署。

截止到目前,Smart Perf Host能力规划中已支持近30个开发能力,25个能力正处于开发测试阶段,能力覆盖性能调优模板、工具系统能力、系统依赖以及用户体验提升。开发者还可通过代码染色系统进行代码覆盖率报告生成,执行上不但能沿用原有自测使用习惯无需更换环境,还可支持共享代码下载环境无需单独部署服务。从开发到调测工具都全面升级的HarmonyOS NEXT 正助力HarmonyOS应用生态正在开启一个新的阶段,构建繁荣的应用生态,还需更多开发者的加入。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

业内消息,近日鸿蒙生态再次迎来里程碑进展,华为官宣目前已有超 4000 个应用加入鸿蒙生态。鸿蒙原生应用数量2个月狂涨20倍,展现出国内独一档的号召力和凝聚力!

关键字: 鸿蒙生态 里程碑 华为 鸿蒙 HarmonyOS 鸿蒙星河版

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

草木曼发,春山可望。3月28日以“凝聚·同行”为主题的2024鲸鸿动能开发者精英会首站在昆明启动。大会深度聚焦阅读、短剧等行业应用,吸引了40多位杰出开发者参与,共同探讨流量商业化新路径,挖掘鸿蒙生态下新的增长机遇。

关键字: 元服务 HarmonyOS 鲸鸿动能

目前,HarmonyOS NEXT星河预览版已经正式面向开发者开放申请,面向鸿蒙原生应用及元服务开发者提供的集成开发环境——DevEco Studio也迎来功能更细化的4.1版本。

关键字: HarmonyOS 操作系统

最新消息,淘宝与华为官宣签署鸿蒙合作,将基于 HarmonyOS NEXT启动鸿蒙原生应用开发,以增强电商领域的鸿蒙生态,并打造全场景购物体验。目前,鸿蒙生态已进入第二阶段,有200+伙伴加速鸿蒙化,覆盖多个领域,鸿蒙原...

关键字: 华为 淘宝 HarmonyOS 鸿蒙原生应用

日前华为官宣了纯血版鸿蒙系统,据华为HarmonyOS开发者社区官方公告,华为HarmonyOS NEXT开发者预览版首批Beta招募正式开启。首批共三款机型支持,分别是Mate60、Mate60 Pro、MateX5。

关键字: 华为 纯血鸿蒙 开发者预览版 Beta HarmonyOS HarmonyOS NEXT

一直以来,鸿蒙系统都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来鸿蒙系统的相关介绍,详细内容请看下文。

关键字: 鸿蒙 鸿蒙系统 HarmonyOS

业内消息,昨天华为鸿蒙系统官方和米哈游共同宣布启动鸿​蒙原生应用开发,双方表示将为跨平台的游戏玩法和玩家体验带来更多可能,这说明米哈游将开发“纯血鸿蒙”游戏。早前米哈游官网招聘就上线了系统方面原神引擎开发的新职位。

关键字: 米哈游 华为 鸿蒙 游戏 HarmonyOS 原神

12月15日,一场以技术交流和创新碰撞为核心的开源大赛——开放原子开源大赛创新赛(简称“OpenHarmony创新赛”)在无锡市圆满落幕。

关键字: 软件开发

Laval社区以服务OpenHarmony开发者为宗旨,目标是打造最专业、最全面的OpenHarmony技术交流平台,致力于推动OpenHarmony生态长足发展,让OpenHarmony走进千行百业。

关键字: 软件开发
关闭