一种性能分析方法及装置、服务器和可读存储介质制造方法及图纸

技术编号:18972288 阅读:33 留言:0更新日期:2018-09-19 03:35
本发明专利技术公开了一种性能分析方法及装置、服务器和可读存储介质,其中,所述方法包括:确定待检测程序本身代码中的至少一个关注函数;获得所述至少一个关注函数的运行数据;基于所述运行数据,确定所述待检测程序的性能。用于解决现有的性能分析方法精度低的技术问题,提高了性能分析的精度。

A performance analysis method and device, server and readable storage medium

A performance analysis method and a device, a server and a readable storage medium are disclosed, wherein the method includes: determining at least one concern function in the code of the program to be detected; obtaining the operation data of the at least one concern function; and determining the performance of the program to be detected based on the operation data. Yes. It is used to solve the technical problems with low accuracy in the existing performance analysis methods, and improves the accuracy of performance analysis.

【技术实现步骤摘要】
一种性能分析方法及装置、服务器和可读存储介质
本专利技术涉及计算机
,特别涉及一种性能分析方法及装置、服务器和可读存储介质。
技术介绍
在现有技术中,常采用Traceview工具来进行数据的采集及分析,进而确定被测应用的性能。但是,该工具会对Dalvik虚拟机中每个调用的函数都去获取耗时(或运行)数据,这样会因为耗时数据的获取而导致被测应用非常卡顿,从而导致应用性能的分析精度低。也就是说,现有不光获取应用本身的函数,还会获取系统底层的函数(而系统底层的函数即便存在异常并不能为应用所优化),致使应用性能分析精度低。可见,现有的性能分析方法精度低。
技术实现思路
本专利技术实施例提供一种性能分析方法及装置、服务器和可读存储介质,用于解决现有的性能分析方法精度低的技术问题,提高了性能分析的精度。一方面,本专利技术实施例提供了一种性能分析方法,应用于一服务器,所述方法包括:确定待检测程序本身代码中的至少一个关注函数;获得所述至少一个关注函数的运行数据;基于所述运行数据,确定所述待检测程序的性能。可选地,所述确定待检测程序本身代码中的至少一个关注函数,包括:确定所述待检测程序本身代码中的全部函数;将所述全部函数中部分或全部作为所述至少一个关注函数。可选地,在所述确定待检测程序本身代码中的至少一个关注函数之后,所述方法还包括:对所述至少一个关注函数中的每个关注函数注入统计代码,并将统计代码软件开发工具包SDK打包到所述待检测程序,以使所述待检测程序运行时,所述统计代码通过调用所述统计代码SDK,生成所述至少一个关注函数的运行数据。可选地,所述对所述至少一个关注函数中的每个关注函数注入统计代码,包括:将所述待检测应用的N个源代码中的每个源代码均编译为至少一个.class文件,共获得M个.class文件,其中,N为正整数,M为不小于N的正整数;判断所述M个.class文件中是否有预设函数配置文件;若为否,将所述M个.class文件中的第一函数集合生成函数字典文件,并将所述第一函数集合中的每个函数运行的开始位置和结束位置均注入所述统计代码,其中,所述第一函数集合中的每个函数均为关注函数。可选地,在所述判断所述M个.class文件中是否有预设函数配置文件之后,所述方法还包括:若所述M个.class文件中有所述预设函数配置文件,对所述预设函数配置文件中的第二函数集合生成函数字典文件,并将所述第二函数集合中的每个函数运行的开始位置和结束位置均注入所述统计代码,其中,所述第二函数集合中的每个函数均为关注函数。可选地,所述基于所述运行数据,确定所述待检测程序的性能,包括:使用所述函数字典文件分析所述运行数据,确定出至少包括运行堆栈和运行耗时时长的函数运行信息;基于所述函数运行信息,确定所述待检测程序的性能。另一方面,本专利技术实施例还提供了一种性能分析装置,应用于一服务器,所述装置包括:第一确定单元,用于确定待检测程序本身代码中的至少一个关注函数;获得单元,用于获得所述至少一个关注函数的运行数据;第二确定单元,基于所述运行数据,确定所述待检测程序的性能。可选地,所述第一确定单元用于:确定所述待检测程序本身代码中的全部函数;将所述全部函数中部分或全部作为所述至少一个关注函数。可选地,在所述确定待检测程序本身代码中的至少一个关注函数之后,所述装置还包括:处理单元,用于对所述至少一个关注函数中的每个关注函数注入统计代码,并将统计代码软件开发工具包SDK打包到所述待检测程序,以使所述待检测程序运行时,所述统计代码通过调用所述统计代码SDK,生成所述至少一个关注函数的运行数据。可选地,所述处理单元还用于:将所述待检测应用的N个源代码中的每个源代码均编译为至少一个.class文件,共获得M个.class文件,其中,N为正整数,M为不小于N的正整数;判断所述M个.class文件中是否有预设函数配置文件;若为否,将所述M个.class文件中的第一函数集合生成函数字典文件,并将所述第一函数集合中的每个函数运行的开始位置和结束位置均注入所述统计代码,其中,所述第一函数集合中的每个函数均为关注函数。可选地,在所述判断所述M个.class文件中是否有预设函数配置文件之后,所述处理单元还用于:若所述M个.class文件中有所述预设函数配置文件,对所述预设函数配置文件中的第二函数集合生成函数字典文件,并将所述第二函数集合中的每个函数运行的开始位置和结束位置均注入所述统计代码,其中,所述第二函数集合中的每个函数均为关注函数。可选地,所述处理单元还用于:使用所述函数字典文件分析所述运行数据,确定出至少包括运行堆栈和运行耗时时长的函数运行信息;基于所述函数运行信息,确定所述待检测程序的性能。另一方面,本专利技术实施例还提供了一种服务器,所述服务器包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上所述的性能分析方法的步骤。另一方面,本专利技术实施例还提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的性能分析方法的步骤。本专利技术实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:在本专利技术实施例的技术方案中,通过确定待检测程序本身代码中的至少一个关注函数;获得所述至少一个关注函数的运行数据;基于所述运行数据,确定所述待检测程序的性能。也就是说,仅通过获取待检测程序本身代码中的至少一个关注函数的运行数据来确定待检测程序的性能。相较于现有技术中不光获取程序本身代码中的函数的运行数据,还要获取系统底层的函数的运行数据,有效解决了现有的性能分析方法精度低的技术问题,提高了性能分析的精度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例。图1为本专利技术实施例一中提供的一种性能分析方法的方法流程图;图2为本专利技术实施例一中提供的一种性能分析方法中步骤S101的步骤流程图;图3为本专利技术实施例一中提供的一种性能分析方法中步骤:对所述至少一个关注函数中的每个关注函数注入统计代码的方法流程图;图4为本专利技术实施例一中提供的一种性能分析方法中步骤S103的方法流程图;图5为本专利技术实施例二提供的一种性能分析装置的结构示意图。具体实施方式本专利技术实施例提供一种性能分析方法及装置、服务器和可读存储介质,用于解决现有的性能分析方法精度低的技术问题,提高了性能分析的精度。本专利技术实施例中的技术方案为解决上述的技术问题,总体思路如下:一种性能分析方法,应用于一服务器,所述方法包括:确定待检测程序本身代码中的至少一个关注函数;获得所述至少一个关注函数的运行数据;基于所述运行数据,确定所述待检测程序的性能。在本专利技术实施例的技术方案中,通过确定待检测程序本身代码中的至少一个关注函数;获得所述至少一个关注函数的运行数据;基于所述运行数据,确定所述待检测程序的性能。也就是说,仅通过获取待检测程序本身代码中的至少一个关注函数的运行数据来确定待检测程序的性能。相较于现有技术中不光获取程序本身代码中的函数的运行数据,还要获取系统底层的函数的运行数据,有效解决了现有的性能分析方法精度低的技术问题,提高了性能分析的精度。本专利技术的说明书和权利要求书及上述附图中的“第本文档来自技高网...

【技术保护点】
1.一种性能分析方法,应用于一服务器,其特征在于,所述方法包括:确定待检测程序本身代码中的至少一个关注函数;获得所述至少一个关注函数的运行数据;基于所述运行数据,确定所述待检测程序的性能。

【技术特征摘要】
1.一种性能分析方法,应用于一服务器,其特征在于,所述方法包括:确定待检测程序本身代码中的至少一个关注函数;获得所述至少一个关注函数的运行数据;基于所述运行数据,确定所述待检测程序的性能。2.如权利要求1所述的方法,其特征在于,所述确定待检测程序本身代码中的至少一个关注函数,包括:确定所述待检测程序本身代码中的全部函数;将所述全部函数中部分或全部作为所述至少一个关注函数。3.如权利要求1所述的方法,其特征在于,在所述确定待检测程序本身代码中的至少一个关注函数之后,所述方法还包括:对所述至少一个关注函数中的每个关注函数注入统计代码,并将统计代码软件开发工具包SDK打包到所述待检测程序,以使所述待检测程序运行时,所述统计代码通过调用所述统计代码SDK,生成所述至少一个关注函数的运行数据。4.如权利要求3所述的方法,其特征在于,所述对所述至少一个关注函数中的每个关注函数注入统计代码,包括:将所述待检测应用的N个源代码中的每个源代码均编译为至少一个.class文件,共获得M个.class文件,其中,N为正整数,M为不小于N的正整数;判断所述M个.class文件中是否有预设函数配置文件;若为否,将所述M个.class文件中的第一函数集合生成函数字典文件,并将所述第一函数集合中的每个函数运行的开始位置和结束位置均注入所述统计代码,其中,所述第一函数集合中的每个函数均为关注函数。5.如权利要求4所述的方法,其特征在于,...

【专利技术属性】
技术研发人员:李向燕唐柳湘
申请(专利权)人:珠海市魅族科技有限公司
类型:发明
国别省市:广东,44

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

1