实现应用程序性能分析的方法和装置制造方法及图纸

技术编号:11946148 阅读:73 留言:0更新日期:2015-08-26 16:30
本发明专利技术提供了一种实现应用程序性能分析的方法和装置。所述方法包括:触发运行应用程序,待运行至应用程序C层中待分析性能的函数时通过chromium-trace模块触发对函数进行性能数据采集;待所述待分析性能的函数停止执行时结束性能数据采集;处理性能数据采集所得到的调试文件以得到待分析性能的函数所对应的执行耗时。所述装置包括:运行模块,用于触发运行应用程序,待运行至应用程序C层中待分析性能的函数时通过chromium-trace模块触发对函数进行性能数据采集;采集结束模块,用于待所述待分析性能的函数停止执行时结束性能数据采集;处理模块,用于处理性能数据采集所得到的调试文件以得到待分析性能的函数对应的执行耗时。采用本发明专利技术能对应用程序C层进行性能分析。

【技术实现步骤摘要】

本专利技术涉及自动化调试技术,特别是涉及一种实现应用程序性能分析的方法和装置
技术介绍
对应用程序进行调试以获取该应用程序当前所存在的瓶颈,进而为程序的优化提供非常大的帮助。对运行于Android操作系统的应用程序调试而言,通常采用Android操作系统自带的调试工具,即Traceview和Systrace,其中,Traceview将用来分析应用程序中java层的执行,Systrace则侧重于图形等方面的性能分析,也就是传统的调试工具无法实现应用程序C层的性能分析。
技术实现思路
基于此,有必要针对传统的调试工具无法实现应用程序C层的性能分析的技术问题,提供一种能对应用程序C层进行性能分析的实现应用程序性能分析的方法。此外,还有必要提供一种能对应用程序C层进行性能分析的实现应用程序性能分析的装置。一种实现应用程序性能分析的方法,包括如下步骤:触发运行应用程序,待运行至所述应用程序C层中待分析性能的函数时通过chromium-trace模块触发对所述函数进行性能数据采集;待所述待分析性能的函数停止执行时结束所述性能数据采集;处理所述性能数据采集所得到的调试文件以得到所述待分析性能的函数所对应的执行耗时。一种实现应用程序性能分析的装置,包括:运行模块,用于触发运行应用程序,待运行至所述应用程序C层中待分析性能的函数时通过chromium-trace模块触发对所述函数进行性能数据采集;采集结束模块,用于待所述待分析性能的函数停止执行时结束所述性能数据采集;处理模块,用于处理所述性能数据采集所得到的调试文件以得到所述待分析性能的函数所对应的执行耗时。上述实现应用程序性能分析的方法和装置,在需要对一应用程序进行调试时,将触发运行该应用程序,待运行至该应用程序C层中待分析性能的函数时通过chromium-trace模块触发对这一函数进行性能数据采集,待这一函数停止执行时结束所进行的性能数据采集,处理性能数据采集所得到的调试文件即可得到这一函数所对应的执行耗时,进而完成应用程序C层中的性能分析。附图说明图1为一个实施例中实现应用程序性能分析的方法流程图;图2为图1中触发运行应用程序,待运行至应用程序C层中待分析性能的函数时通过chromium-trace模块触发对该函数进行性能数据采集的方法流程图;图3为图1中处理性能数据采集处到的调试文件以得到待分析性能的函数所对应的执行耗时的方法流程图;图4为一个实施例中实现应用程序性能分析的装置的结构示意图;图5为图4中运行模块的结构示意图;图6为图4中处理模块的结构示意图;图7为另一个实施例中实现应用程序性能分析的装置的结构示意图;图8为一个适用于本专利技术的计算机系统的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。除非上下文另有特定清楚的描述,本专利技术中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本专利技术并不对此进行限定。本专利技术中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组合。如图1所示,在一个实施例中,一种实现应用程序性能分析的方法,包括如下步骤:步骤S110,触发运行应用程序,待运行至应用程序C层中待分析性能的函数时通过chromium-trace模块触发对该函数进行性能数据采集。本实施例中,应用程序C层即为应用程序中通过C语言预研编写的,即应用程序中的native代码。运行于Android操作系统的应用程序大都使用Java语言编写,其底层即为应用程序的C层,通过C语言编写得到。chromium-trace模块则是chromium开源项目听trace模块,为实现Andriod操作系统中应用程序在C层的性能分析,预先将chromium-trace模块从chromium开源项目中剥离,以将其打包成动态链接库。利用chromium-trace模块中提供的接口对应用程序C层中执行的函数进行性能数据的采集,以通过性能数据实现该函数的性能分析。步骤S130,待分析性能的函数停止执行时结束性能数据采集。本实施例中,应用程序C层中,在通过chromium-trace模块对当前执行的函数进行性能数据采集的过程中将在该函数停止执行时结束性能数据的采集,以完成对该函数的性能数据采集,待运行到应用程序C层中下一待分析性能的函数时将再次进行性能数据的采集。步骤S150,处理性能数据采集处到的调试文件以得到待分析性能的函数所对应的执行耗时。本实施例中,处理得到应用程序C层中各种函数的执行耗时,以通过定位执行耗时最大的函数来获知应用程序当前的性能瓶颈,进而得以方便快速地实现应用程序的优化,大大节点了调试人员所需要耗费的人力资源。性能数据采集所得到的各种性能数据将被存入调试文件中,以便于调试人员得以随时调取调试文件查看应用程序当前所存在的瓶颈。如图2所示,在一个实施例中,上述步骤S110的具体过程为:步骤S111,通过对应用程序的调试操作运行应用程序。本实施例中,调试人员将在Android操作系统所提供的操作界面中选定需要进行性能数据采集的应用程序,并对该应用程序触发调试操作,此时,将通过这一触发的调试操作运行对应的应用程序。步骤S113,随着应用程序的运行,对应用程序C层当前运行的待分析性能的函数通过chromium-trace模块控制预先插入的性能数据采集模块触发计时,并输出该函数开始计时对应的性能数据。本实施例中,随着触发的调试操作所对应的应用程序的运行,将运行应用程序中的若干个函数,其中,所运行的函数可以是Java层的,也可以是C层的,一旦运行至应用程序C层的待分析性能的函数时,将在chromium-trace模块的控制之下由预先插入的性能数据采集模块触发进行计时,以得到当前开始执行这一待分析性能的函数的时间点,进而生成对应的性能数据。性能数据采集模块是预先插入函数内部的,用于对该函数的执行进行计时。具体的,性能数据采集模块将被封装成宏的形式,会自动展开成类的构造函数和析构函数,待本文档来自技高网...

【技术保护点】
一种实现应用程序性能分析的方法,包括如下步骤:触发运行应用程序,待运行至所述应用程序C层中待分析性能的函数时通过chromium‑trace模块触发对所述函数进行性能数据采集;待所述待分析性能的函数停止执行时结束所述性能数据采集;处理所述性能数据采集所得到的调试文件以得到所述待分析性能的函数所对应的执行耗时。

【技术特征摘要】
1.一种实现应用程序性能分析的方法,包括如下步骤:
触发运行应用程序,待运行至所述应用程序C层中待分析性能的函数时通
过chromium-trace模块触发对所述函数进行性能数据采集;
待所述待分析性能的函数停止执行时结束所述性能数据采集;
处理所述性能数据采集所得到的调试文件以得到所述待分析性能的函数所
对应的执行耗时。
2.根据权利要求1所述的方法,其特征在于,所述触发运行应用程序,待
运行至所述应用程序C层中待分析性能的函数时通过chromium-trace模块触发
对所述函数进行性能数据采集的步骤包括:
通过对应用程序的调试操作运行应用程序;
随着所述应用程序的运行,对所述应用程序C层当前运行的待分析性能的
函数通过chromium-trace模块控制预先插入的性能数据采集模块触发计时,并输
出所述函数开始计时对应的性能数据。
3.根据权利要求2所述的方法,其特征在于,所述待分析性能的函数停止
执行时结束所述必性能数据采集的步骤包括:
所述应用程序C层中当前触发计时的函数停止执行时,将结束所述性能数
据采集模块触发的计时,并输出所述函数结束计时所对应的性能数据。
4.根据权利要求3所述的方法,其特征在于,所述处理所述性能数据采集
所得到的调试文件以得到所述待分析性能的函数所对应的执行耗时的步骤包
括:
在所述调试文件中,从所述函数开始计时对应的性能数据中提取得到所述
函数的开始执行时间,从所述函数结束计时所对应的性能数据中提取得到所述
函数的停止执行时间;
根据所述开始执行时间和停止执行时间得到所述待分析性能的函数所对应
的执行耗时。
5.根据权利要求1所述的方法,其特征在于,所述处理所述性能数据采集
所得到的性能数据以得到所述待分析性能的函数所对应的执行耗时的步骤之

\t前,所述方法还包括:
将所述性能数据采集所得到的性能数据保存于读写缓冲区,判断所述读写
缓冲区中的性能数据是否过大...

【专利技术属性】
技术研发人员:牛东升魏晓海
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1