CN105224437A - 一种获取移动终端上事务执行耗时的方法和装置 - Google Patents
一种获取移动终端上事务执行耗时的方法和装置 Download PDFInfo
- Publication number
- CN105224437A CN105224437A CN201410258856.9A CN201410258856A CN105224437A CN 105224437 A CN105224437 A CN 105224437A CN 201410258856 A CN201410258856 A CN 201410258856A CN 105224437 A CN105224437 A CN 105224437A
- Authority
- CN
- China
- Prior art keywords
- execution
- time
- consuming time
- counted
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种获取移动终端上事务执行耗时的方法和装置,以在精细化调试时消除冗余信息的输出。所述方法包括:被测试应用程序获取其事务执行过程中执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据;将执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台;控制台根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时后,在移动终端上展示执行耗时待统计环节的执行耗时数据。本发明提供的方法对被测应用程序的性能消耗较小,并且,在展示执行耗时数据时不会展示冗余信息,输出的信息简单明了,便于测试人员对问题迅速定位。
Description
技术领域
本发明涉及移动通信领域,具体涉及一种获取移动终端上事务执行耗时的方法和装置。
背景技术
Android应用程序(APPlication,APP)的开发是一个复杂、漫长的过程,此过程中,对应用程序的调试(debugging)是一个重要的环节。除了查看APP相关逻辑执行情况和确定是否达到预期的功能之外,获取APP运行时事务执行耗时情况也是调试的重要目的,其原因在于,事务执行耗时的大小直接影响到APP的性能。因此,通过调试,在清楚了解事务执行耗时情况后,开发人员可以对APP的代码进行优化,从而优化Android应用程序的性能。
现有的一种获取Android移动终端上事务执行耗时的方法是使用Android软件开发工具包(SoftwareDevelopmentKit,SDK)中的Debug类或者利用Dalvik调试监控服务(DalvikDebugMonitorService,DDMS)工具,采集被测进程方法调用耗时等数据,然后,通过Android系统配备的图形化性能分析工具TraceView查看。
现有的获取Android移动终端上事务执行耗时的方法,其主要特点是查看事务所包含进程的所有执行方法的耗时,然后,输出这些事务所包含进程的所有执行方法的耗时数据。然而,APP的调试人员(例如,APP开发人员)往往不需要如此详实的数据,因为,并非事务的每个执行方法的耗时都是其关注点。换言之,现有技术提供的方法,其冗余信息较多,对被测试的APP的性能消耗较大,在性能敏感场景过于“重量级”。
发明内容
本发明提供一种获取移动终端上事务执行耗时的方法和装置,以在精细化调试时消除冗余信息的输出。
本发明实施例提供一种获取移动终端上事务执行耗时的方法,所述方法包括:
被测试应用程序获取其事务执行过程中执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据;
将所述执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台;
所述控制台根据所述执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时后,在移动终端上展示执行耗时待统计环节的执行耗时数据。
本发明另一实施例提供一种获取移动终端上事务执行耗时的装置,所述装置包括被测应用程序和控制台,所述被测应用程序包括数据获取模块和数据传输模块,所述控制台包括数据处理模块;
所述数据获取模块,用于获取被测应用程序的事务执行过程中执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据;
所述数据传输模块,用于将所述执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至所述控制台;
所述数据处理模块,用于根据所述执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时后,在Android移动终端上展示执行耗时待统计环节的执行耗时数据。
从上述本发明实施例可知,由于执行耗时待统计环节可以由用户(包括软件测试人员、软件开发人员或者相关人员)自定义,只要获取被测应用程序的事务执行过程中执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,控制台就可以根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时并展示。与现有技术相比,本发明提供的方法可以只获取事务执行过程中某个具体环节的执行耗时,对被测应用程序的性能消耗较小,并且,在展示执行耗时数据时不会展示冗余信息,输出的信息简单明了,便于测试人员对问题迅速定位。
附图说明
图1是本发明实施例提供的获取移动终端上事务执行耗时的方法的基本流程示意图;
图2-a是本发明另一实施例提供的获取移动终端上事务执行耗时的方法的基本流程示意图
图2-b是本发明实施例提供的展示进程间的执行耗时数据示意图;
图3-a是本发明另一实施例提供的获取移动终端上事务执行耗时的方法的基本流程示意图;
图3-b是本发明实施例提供的展示线程内的执行耗时数据示意图;
图4是本发明另一实施例提供的获取移动终端上事务执行耗时的方法的基本流程示意图;
图5是本发明实施例提供的获取移动终端上事务执行耗时的装置逻辑结构示意图;
图6是本发明另一实施例提供的获取移动终端上事务执行耗时的装置逻辑结构示意图;
图7是本发明另一实施例提供的获取移动终端上事务执行耗时的装置逻辑结构示意图;
图8-a是本发明另一实施例提供的获取移动终端上事务执行耗时的装置逻辑结构示意图;
图8-b是本发明另一实施例提供的获取移动终端上事务执行耗时的装置逻辑结构示意图;
图9-a是本发明另一实施例提供的获取移动终端上事务执行耗时的装置逻辑结构示意图;
图9-b是本发明另一实施例提供的获取移动终端上事务执行耗时的装置逻辑结构示意图;
图9-c是本发明另一实施例提供的获取移动终端上事务执行耗时的装置逻辑结构示意图;
图9-d是本发明另一实施例提供的获取移动终端上事务执行耗时的装置逻辑结构示意图;
图9-e是本发明另一实施例提供的获取移动终端上事务执行耗时的装置逻辑结构示意图。
具体实施方式
本发明提供一种获取移动终端上事务执行耗时的方法,所述方法包括:被测试应用程序获取其事务执行过程中执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据;将所述执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台;所述控制台根据所述执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时后,在移动终端上展示执行耗时待统计环节的执行耗时数据。本发明还提供相应的获取移动终端上事务执行耗时的装置。以下分别进行详细说明。
请参阅附图1,是本发明实施例提供的获取移动终端上事务执行耗时的方法的基本流程,其可以应用于Andriod等操作系统的移动终端,主要包括步骤S101至步骤S103,详细说明如下:
S101,被测试应用程序获取其事务执行过程中执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据。
在本发明实施例中,被测应用程序包含一系列事务,一个具体的事务由多个环节组成,一个环节例如可以是一个进程、线程或者若干个进程或若干个线程等,而执行耗时待统计环节可以由用户(包括软件测试人员、软件开发人员或者相关人员等)自定义。所谓执行耗时待统计环节由用户自定义,是指用户可以根据实际需要,确定出需要统计执行耗时的具体环节,然后,在这些环节添加相应的代码。例如,用户可以根据需要,在一个进程的开始处和结束处、在属于同一个进程的A线程开始处和B线程的结束处或者在A线程的开始处和A线程的结束处添加相应的代码。
S102,将执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台。
在本发明实施例中,控制台(console)是应用程序的随身调测平台即随身调(GT)提供的一个服务型应用程序,其可以独立完成被测试应用程序一端传递过来的数据的整理分析工作,并将分析结果展示到移动终端的用户界面(UserInterface,UI)上,而随身调(GT)是直接运行在移动终端上的集成调测环境(IntegratedDebug&TestEnvironment,IDTE)。利用GT,仅凭一部移动终端而无需连接电脑,软件开发/测试人员即可对应用程序进行快速的性能测试(例如CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash日志查看、网络数据包的抓取和应用程序内部参数的调试、真机代码耗时统计等等,GT的最大优点在于软件开发/测试人员可以在任意真实场所、任何时候进行如上一系列事情,实现应用程序(APP)的场测。
S103,控制台根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时后,在移动终端上展示执行耗时待统计环节的执行耗时数据。
从上述本发明实施例提供的获取移动终端上事务执行耗时的方法可知,由于执行耗时待统计环节可以由用户(包括软件测试人员、软件开发人员或者相关人员)自定义,只要获取被测应用程序的事务执行过程中执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,控制台就可以根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时并展示。与现有技术相比,本发明提供的方法可以只获取事务执行过程中某个具体环节的执行耗时,对被测应用程序的性能消耗较小,并且,在展示执行耗时数据时不会展示冗余信息,输出的信息简单明了,便于测试人员对问题迅速定位。
请参阅附图2-a,是本发明另一实施例提供的获取移动终端上事务执行耗时的方法的基本流程,主要包括步骤S201至步骤S204,详细说明如下:
S201,被测试应用程序导入软件开发工具包SDK,SDK包含预定义的起始时刻记录函数和结束时刻记录函数。
软件开发工具包(SoftwareDevelopmentKit,SDK)是被软件开发人员用于为特定的软件包、软件框架、硬件平台和/或操作系统等建立应用软件的开发工具的集合,一般的SDK包括用于调试和其他用途的实用工具,SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。在本发明实施例中,SDK包含预定义的起始时刻记录函数和结束时刻记录函数,这些函数可以是软件开发/测试人员根据测试的需要自己编写,也可以是从现存的文件中导入,在启动对应用程序的测试时,可以由被测试应用程序进行调用。
S202,被测试应用程序在执行耗时待统计环节的起始处调用起始时刻记录函数,在执行耗时待统计环节的结束处调用结束时刻记录函数。
在本发明实施例中,可以在被测试应用程序的执行耗时待统计环节的起始处插入起始时刻记录函数,在被测试应用程序的执行耗时待统计环节的结束处插入结束时刻记录函数。被测试应用程序运行至执行耗时待统计环节的起始处时,调用起始时刻记录函数,从而获得执行耗时待统计环节的执行起始时刻数据;被测试应用程序运行至执行耗时待统计环节的结束处时,调用结束时刻记录函数,从而获得执行耗时待统计环节的执行结束时刻数据。
如前所述,一个具体的事务由多个环节组成,其中,一个环节可以是一个进程、线程或者若干个进程或若干个线程等。作为本发明一个实施例,被测试应用程序在执行耗时待统计环节的起始处调用起始时刻记录函数,在执行耗时待统计环节的结束处调用结束时刻记录函数可以是:被测试应用程序在事务的第一进程的起始处调用起始时刻记录函数,在事务的第二进程的结束处调用结束时刻记录函数。例如,假设预定义的起始时刻记录函数是startTimeGlobal(Stringgroup,Stringtag,int…extra),预定义的结束时刻记录函数是,endTimeGlobal(Stringgroup,Stringtag,int…extra),被测试应用程序在事务的进程A的起始处调用startTimeGlobal(Stringgroup,Stringtag,int…extra),从而获取事务的进程A的执行起始时刻数据,在事务的进程B的结束处调用endTimeGlobal(Stringgroup,Stringtag,int…extra),从而获取事务的进程B的执行结束时刻数据。
S203,将执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台。
如前所示,被测试应用程序导入(import)了SDK。将执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台,具体可以是SDK与控制台通过Android接口定义语言(AndroidInterfaceDefinitionLanguage,AIDL)协议通讯方式,将执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台。
S204,控制台根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时后,在移动终端上展示执行耗时待统计环节的执行耗时数据。
具体地,控制台根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时可以是:控制台根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,将执行耗时待统计环节的执行结束时刻减去执行耗时待统计环节的执行起始时刻,得到执行耗时待统计环节的执行耗时。例如,对于步骤S202示例的进程A和进程B,控制台根据被测试应用程序在事务的进程A的起始处调用startTimeGlobal(Stringgroup,Stringtag,int…extra)获取的事务的进程A的执行起始时刻数据,得到事务的进程A的执行起始时刻Ts,根据被测试应用程序在事务的进程B的结束处调用endTimeGlobal(Stringgroup,Stringtag,int…extra)获取的事务的进程B的执行结束时刻数据,得到事务的进程B的执行结束时刻TeB,将TeB减去TsA,所得差值TeB-TsA即为进程A到进程B的执行耗时,即,进程间的执行耗时。
至于在移动终端上展示执行耗时待统计环节的执行耗时数据,可以是将计算所得执行耗时待统计环节的执行耗时,例如,TeB-TsA,传送给移动终端上的展示服务模块,由所述展示服务模块在移动终端上展示执行耗时待统计环节的执行耗时数据或者,将计算所得执行耗时待统计环节的执行耗时,例如,TeB-TsA,传送给服务器,由服务器在移动终端上展示执行耗时待统计环节的执行耗时数据。
根据附图2-a提供的方法,软件开发/测试人员获取事务执行过程中跨进程的执行耗时,在展示执行耗时数据时只输出某几个进程间的执行耗时数据,不展示冗余信息,输出信息简单明了,如附图2-b所示。
请参阅附图3-a,是本发明另一实施例提供的获取移动终端上事务执行耗时的方法的基本流程,主要包括步骤S301至步骤S304,详细说明如下:
S301,被测试应用程序导入软件开发工具包SDK,SDK包含预定义的起始时刻记录函数和结束时刻记录函数。
软件开发工具包(SoftwareDevelopmentKit,SDK)是被软件开发人员用于为特定的软件包、软件框架、硬件平台和/或操作系统等建立应用软件的开发工具的集合,一般的SDK包括用于调试和其他用途的实用工具,SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。在本发明实施例中,SDK包含预定义的起始时刻记录函数和结束时刻记录函数,这些函数可以是软件开发/测试人员根据测试的需要自己编写,也可以是从现存的文件中导入,在启动对应用程序的测试时,可以由被测试应用程序进行调用。
S302,被测试应用程序在事务的进程的线程的起始处调用起始时刻记录函数,在事务的进程的线程的结束处调用结束时刻记录函数。
例如,假设预定义的起始时刻记录函数是startTimeInThread(Stringgroup,Stringtag,int…extra),预定义的结束时刻记录函数是endTimeInThread(Stringgroup,Stringtag,int…extra),被测试应用程序在事务的进程C的线程Th起始处调用startTimeInThread(Stringgroup,Stringtag,int…extra),从而获取事务的进程C的线程Th的执行起始时刻数据,在事务的进程C的线程Th的结束处调用endTimeInThread(Stringgroup,Stringtag,int…extra),从而获取事务的进程C的线程Th的执行结束时刻数据。
S303,将执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台。
如前所示,被测试应用程序导入(import)了SDK。将执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台,具体可以是SDK与控制台通过AIDL协议通讯方式,将执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台。
S304,控制台根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时后,在移动终端上展示执行耗时待统计环节的执行耗时数据。
具体地,控制台根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时可以是:控制台根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,将执行耗时待统计环节的执行结束时刻减去执行耗时待统计环节的执行起始时刻,得到执行耗时待统计环节的执行耗时。
例如,对于步骤S302示例的进程C,控制台根据被测试应用程序在事务的进程C的线程Th的起始处调用startTimeInThread(Stringgroup,Stringtag,int…extra)获取的事务的进程C的线程Th的执行起始时刻数据,得到事务的进程C的线程Th的执行起始时刻Ths,根据被测试应用程序在事务的进程C的线程Th的的结束处调用endTimeInThread(Stringgroup,Stringtag,int…extra)获取的事务的进程C的线程Th的执行结束时刻数据,得到事务的进程C的线程Th的执行结束时刻The,将The减去Ths,所得差值The-Ths即为进程C的线程Th的执行耗时,即,线程内的执行耗时。
至于在移动终端上展示执行耗时待统计环节的执行耗时数据,可以是将计算所得执行耗时待统计环节的执行耗时,例如,The-Ths,传送给移动终端上的展示服务模块,由所述展示服务模块在移动终端上展示执行耗时待统计环节的执行耗时数据或者,将计算所得执行耗时待统计环节的执行耗时,例如,The-Ths,传送给服务器,由所述服务器在移动终端上展示执行耗时待统计环节的执行耗时数据。
根据附图3-a提供的方法,软件开发/测试人员获取事务执行过程中线程内的执行耗时,在展示执行耗时数据时只输出某个线程的执行耗时数据,不展示冗余信息,输出信息简单明了,如附图3-b所示。
请参阅附图4,是本发明另一实施例提供的获取移动终端上事务执行耗时的方法的基本流程,主要包括步骤S401至步骤S404,详细说明如下:
S401,被测试应用程序导入软件开发工具包SDK,SDK包含预定义的起始时刻记录函数和结束时刻记录函数。
软件开发工具包(SoftwareDevelopmentKit,SDK)是被软件开发人员用于为特定的软件包、软件框架、硬件平台和/或操作系统等建立应用软件的开发工具的集合,一般的SDK包括用于调试和其他用途的实用工具,SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。在本发明实施例中,SDK包含预定义的起始时刻记录函数和结束时刻记录函数,这些函数可以是软件开发/测试人员根据测试的需要自己编写,也可以是从现存的文件中导入,在启动对应用程序的测试时,可以由被测试应用程序进行调用。
S402,被测试应用程序在事务的进程的第一线程的起始处调用起始时刻记录函数,在所述事务的所述进程的第二线程的结束处调用结束时刻记录函数。
例如,假设预定义的起始时刻记录函数是startTime(Stringgroup,Stringtag,int…extra),预定义的结束时刻记录函数是endTime(Stringgroup,Stringtag,int…extra),被测试应用程序在事务的进程D的线程Th1起始处调用startTime(Stringgroup,Stringtag,int…extra),从而获取事务的进程C的线程Th1的执行起始时刻数据,在事务的进程C的线程Th2的结束处调用endTime(Stringgroup,Stringtag,int…extra),从而获取事务的进程C的线程Th2的执行结束时刻数据。
S403,将执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台。
如前所示,被测试应用程序导入(import)了SDK。将执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台,具体可以是SDK与控制台通过AIDL协议通讯方式,将执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台。
S404,控制台根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时后,在移动终端上展示执行耗时待统计环节的执行耗时数据。
具体地,控制台根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时可以是:控制台根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,将执行耗时待统计环节的执行结束时刻减去执行耗时待统计环节的执行起始时刻,得到执行耗时待统计环节的执行耗时。
例如,对于步骤S402示例的进程D的线程Th1和线程Th2,控制台根据被测试应用程序在事务的进程D的线程Th1的起始处调用startTime(Stringgroup,Stringtag,int…extra)获取的事务的进程D的线程Th1的执行起始时刻数据,得到事务的进程D的线程Th1的执行起始时刻Th1s,根据被测试应用程序在事务的进程D的线程Th2的的结束处调用endTime(Stringgroup,Stringtag,int…extra)获取的事务的进程D的线程Th2的执行结束时刻数据,得到事务的进程D的线程Th2的执行结束时刻Th2e,将Th2e减去Th1s,所得差值Th2e-Th1s即为进程C的线程Th1到线程Th2的执行耗时,即,进程内跨线程的执行耗时。
至于在移动终端上展示执行耗时待统计环节的执行耗时数据,可以是将计算所得执行耗时待统计环节的执行耗时,例如,Th2e-Th1s,传送给移动终端上的展示服务模块,由所述展示服务模块在移动终端上展示执行耗时待统计环节的执行耗时数据或者,将计算所得执行耗时待统计环节的执行耗时,例如,Th2e-Th1s,传送给服务器,由所述服务器在移动终端上展示执行耗时待统计环节的执行耗时数据。
根据附图4提供的方法,软件开发/测试人员获取事务执行过程中进程内线程间的执行耗时,在展示执行耗时数据时只输出某个进程内几个线程间的执行耗时数据,不展示冗余信息,输出信息简单明了。
以下对用于执行上述获取移动终端上事务执行耗时的方法的本发明实施例的获取移动终端上事务执行耗时的装置进行说明,其基本逻辑结构参考图5。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图5示例的获取移动终端上事务执行耗时的装置主要包括被测应用程序501和控制台502,其中,被测应用程序501包括数据获取模块503和数据传输模块504,控制台502包括数据处理模块505,各模块详细说明如下:
数据获取模块503,用于获取被测应用程序501的事务执行过程中执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,其中,执行耗时待统计环节可以由用户(包括软件测试人员、软件开发人员或者相关人员等)自定义;
数据传输模块504,用于将执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台502;
数据处理模块505,用于根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时后,在移动终端上展示执行耗时待统计环节的执行耗时数据。
需要说明的是,以上附图5示例的获取移动终端上事务执行耗时的装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述获取移动终端上事务执行耗时的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的数据获取模块,可以是具有执行前述获取被测应用程序的事务执行过程中执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据的硬件,例如数据获取器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的数据处理模块,可以是根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时后,在移动终端上展示执行耗时待统计环节的执行耗时数据功能的硬件,例如数据处理器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
在附图5示例的数据获取模块503可以包括导入单元601和调用单元602,如附图6所示本发明另一实施例提供的获取移动终端上事务执行耗时的装置,其中:
导入单元601,用于导入软件开发工具包SDK,其中,SDK包含预定义的起始时刻记录函数和结束时刻记录函数;
调用单元602,用于在执行耗时待统计环节的起始处调用起始时刻记录函数,在执行耗时待统计环节的结束处调用结束时刻记录函数。
附图6示例的调用单元602可以包括第一函数调用单元701和第二函数调用单元702,如附图7所示本发明另一实施例提供的获取移动终端上事务执行耗时的装置,其中:
第一函数调用单元701,用于在事务的第一进程的起始处调用起始时刻记录函数;
第二函数调用单元702,用于在事务的第二进程的结束处调用结束时刻记录函数。
附图6示例的调用单元602可以包括第三函数调用单元801和第四函数调用单元802,或者,附图6示例的调用单元602可以包括第五函数调用单元803和第六函数调用单元804,如附图8-a或附图8-b所示本发明另一实施例提供的获取移动终端上事务执行耗时的装置,其中:
第三函数调用单元801,用于在事务的进程的线程的起始处调用起始时刻记录函数;
第四函数调用单元802,用于在事务的进程的线程的结束处调用结束时刻记录函数;
第五函数调用单元803,用于在事务的进程的第一线程的起始处调用起始时刻记录函数;
第六函数调用单元804,用于在事务的进程的第二线程的结束处调用结束时刻记录函数。
附图5至附图8-b任一示例的数据处理模块505可以包括时差求取单元901和第一展示单元902,或者,可以包括时差求取单元901和第二展示单元903,如附图9-a至附图9-e任一示例提供的获取移动终端上事务执行耗时的装置,其中:
时差求取单元901,用于根据执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,将执行耗时待统计环节的执行结束时刻减去执行耗时待统计环节的执行起始时刻,得到执行耗时待统计环节的执行耗时;
第一展示单元902,用于将时差求取单元901计算所得执行耗时待统计环节的执行耗时传送给移动终端上的展示服务模块,由所展示服务模块在移动终端上展示执行耗时待统计环节的执行耗时数据;
第二展示单元903,用于将时差求取单元901计算所得执行耗时待统计环节的执行耗时传送给服务器,由服务器在移动终端上展示执行耗时待统计环节的执行耗时数据。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,ReadOnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁盘或光盘等。
以上对本发明实施例所提供的获取移动终端上事务执行耗时的方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种获取移动终端上事务执行耗时的方法,其特征在于,所述方法包括:
被测试应用程序获取其事务执行过程中执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据;
将所述执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至控制台;
所述控制台根据所述执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时后,在移动终端上展示执行耗时待统计环节的执行耗时数据。
2.根据权利要求1所述的方法,其特征在于,所述被测试应用程序获取其事务执行过程中执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,包括:
所述被测试应用程序导入软件开发工具包SDK,所述SDK包含预定义的起始时刻记录函数和结束时刻记录函数;
所述被测试应用程序在所述执行耗时待统计环节的起始处调用所述起始时刻记录函数,在所述执行耗时待统计环节的结束处调用所述结束时刻记录函数。
3.根据权利要求2所述的方法,其特征在于,所述被测试应用程序在所述执行耗时待统计环节的起始处调用所述起始时刻记录函数,在所述执行耗时待统计环节的结束处调用所述结束时刻记录函数,包括:
所述被测试应用程序在所述事务的第一进程的起始处调用所述起始时刻记录函数,在所述事务的第二进程的结束处调用所述结束时刻记录函数。
4.根据权利要求2所述的方法,其特征在于,所述被测试应用程序在所述执行耗时待统计环节的起始处调用所述起始时刻记录函数,在所述执行耗时待统计环节的结束处调用所述结束时刻记录函数,包括:
所述被测试应用程序在所述事务的进程的线程的起始处调用所述起始时刻记录函数,在所述事务的所述进程的线程的结束处调用所述结束时刻记录函数;或者
所述被测试应用程序在所述事务的进程的第一线程的起始处调用所述起始时刻记录函数,在所述事务的所述进程的第二线程的结束处调用所述结束时刻记录函数。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述控制台根据所述执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时后,在移动终端上展示执行耗时待统计环节的执行耗时数据,包括:
所述控制台根据所述执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,将所述执行耗时待统计环节的执行结束时刻减去所述执行耗时待统计环节的执行起始时刻,得到执行耗时待统计环节的执行耗时;
将所述计算所得执行耗时待统计环节的执行耗时传送给移动终端上的展示服务模块,由所述展示服务模块在移动终端上展示执行耗时待统计环节的执行耗时数据;或者
将所述计算所得执行耗时待统计环节的执行耗时传送给服务器,由所述服务器在移动终端上展示执行耗时待统计环节的执行耗时数据。
6.一种获取移动终端上事务执行耗时的装置,其特征在于,所述装置包括被测应用程序和控制台,所述被测应用程序包括数据获取模块和数据传输模块,所述控制台包括数据处理模块;
所述数据获取模块,用于获取被测应用程序的事务执行过程中执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据;
所述数据传输模块,用于将所述执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据传输至所述控制台;
所述数据处理模块,用于根据所述执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,计算执行耗时待统计环节的执行耗时后,在移动终端上展示执行耗时待统计环节的执行耗时数据。
7.根据权利要求6所述的装置,其特征在于,所述数据获取模块包括:
导入单元,用于导入软件开发工具包SDK,所述SDK包含预定义的起始时刻记录函数和结束时刻记录函数;
调用单元,用于在所述执行耗时待统计环节的起始处调用所述起始时刻记录函数,在所述执行耗时待统计环节的结束处调用所述结束时刻记录函数。
8.根据权利要求7所述的装置,其特征在于,所述调用单元包括:
第一函数调用单元,用于在所述事务的第一进程的起始处调用所述起始时刻记录函数;
第二函数调用单元,用于在所述事务的第二进程的结束处调用所述结束时刻记录函数。
9.根据权利要求7所述的装置,其特征在于,所述调用单元包括第三函数调用单元和第四函数调用单元,或者,所述调用单元包括第五函数调用单元和第六函数调用单元;
第三函数调用单元,用于在所述事务的进程的线程的起始处调用所述起始时刻记录函数;
第四函数调用单元,用于在所述事务的所述进程的线程的结束处调用所述结束时刻记录函数;
第五函数调用单元,用于在所述事务的进程的第一线程的起始处调用所述起始时刻记录函数;
第六函数调用单元,用于在所述事务的所述进程的第二线程的结束处调用所述结束时刻记录函数。
10.根据权利要求6至9任意一项所述的装置,其特征在于,所述数据处理模块包括时差求取单元和第一展示单元,或者,所述数据处理模块包括时差求取单元和第二展示单元;
所述时差求取单元,用于根据所述执行耗时待统计环节的执行起始时刻数据和执行结束时刻数据,将所述执行耗时待统计环节的执行结束时刻减去所述执行耗时待统计环节的执行起始时刻,得到执行耗时待统计环节的执行耗时;
所述第一展示单元,用于将所述时差求取单元计算所得执行耗时待统计环节的执行耗时传送给移动终端上的展示服务模块,由所述展示服务模块在移动终端上展示执行耗时待统计环节的执行耗时数据;
所述第二展示单元,用于将所述时差求取单元计算所得执行耗时待统计环节的执行耗时传送给服务器,由所述服务器在移动终端上展示执行耗时待统计环节的执行耗时数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410258856.9A CN105224437A (zh) | 2014-06-11 | 2014-06-11 | 一种获取移动终端上事务执行耗时的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410258856.9A CN105224437A (zh) | 2014-06-11 | 2014-06-11 | 一种获取移动终端上事务执行耗时的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105224437A true CN105224437A (zh) | 2016-01-06 |
Family
ID=54993423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410258856.9A Pending CN105224437A (zh) | 2014-06-11 | 2014-06-11 | 一种获取移动终端上事务执行耗时的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105224437A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055469A (zh) * | 2016-05-19 | 2016-10-26 | 中国科学院软件研究所 | 一种基于代码注入的移动端应用测试系统及方法 |
CN110209559A (zh) * | 2019-04-26 | 2019-09-06 | 华为技术有限公司 | 一种非侵入式监测方法、控制设备及存储介质 |
CN111240927A (zh) * | 2020-01-03 | 2020-06-05 | 北京小米移动软件有限公司 | 检测程序中方法耗时的方法、装置及存储介质 |
CN112698890A (zh) * | 2020-12-31 | 2021-04-23 | 百果园技术(新加坡)有限公司 | 函数耗时采集方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102460408A (zh) * | 2009-06-01 | 2012-05-16 | 惠普开发有限公司 | 用于收集应用性能数据的系统和方法 |
CN102831046A (zh) * | 2011-06-16 | 2012-12-19 | 中兴通讯股份有限公司 | 通讯系统中一种软件性能采集的方法及装置 |
CN103455403A (zh) * | 2013-08-26 | 2013-12-18 | 百度在线网络技术(北京)有限公司 | 测试方法及装置 |
US20140304816A1 (en) * | 2013-04-08 | 2014-10-09 | Trusteer Ltd. | Client based local malware detection method |
-
2014
- 2014-06-11 CN CN201410258856.9A patent/CN105224437A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102460408A (zh) * | 2009-06-01 | 2012-05-16 | 惠普开发有限公司 | 用于收集应用性能数据的系统和方法 |
CN102831046A (zh) * | 2011-06-16 | 2012-12-19 | 中兴通讯股份有限公司 | 通讯系统中一种软件性能采集的方法及装置 |
US20140304816A1 (en) * | 2013-04-08 | 2014-10-09 | Trusteer Ltd. | Client based local malware detection method |
CN103455403A (zh) * | 2013-08-26 | 2013-12-18 | 百度在线网络技术(北京)有限公司 | 测试方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055469A (zh) * | 2016-05-19 | 2016-10-26 | 中国科学院软件研究所 | 一种基于代码注入的移动端应用测试系统及方法 |
CN106055469B (zh) * | 2016-05-19 | 2018-05-18 | 中国科学院软件研究所 | 一种基于代码注入的移动端应用测试系统及方法 |
CN110209559A (zh) * | 2019-04-26 | 2019-09-06 | 华为技术有限公司 | 一种非侵入式监测方法、控制设备及存储介质 |
CN110209559B (zh) * | 2019-04-26 | 2021-09-14 | 华为技术有限公司 | 一种非侵入式监测方法、控制设备及存储介质 |
CN111240927A (zh) * | 2020-01-03 | 2020-06-05 | 北京小米移动软件有限公司 | 检测程序中方法耗时的方法、装置及存储介质 |
CN111240927B (zh) * | 2020-01-03 | 2024-01-30 | 北京小米移动软件有限公司 | 检测程序中方法耗时的方法、装置及存储介质 |
CN112698890A (zh) * | 2020-12-31 | 2021-04-23 | 百果园技术(新加坡)有限公司 | 函数耗时采集方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103631703B (zh) | 安卓设备中的软件性能测试方法和装置 | |
CN104579822B (zh) | 基于Http协议的移动应用自动化性能测试系统及方法 | |
CN107302450B (zh) | 一种数据采集任务变更方法及装置 | |
CN104750603B (zh) | 一种多核dsp软件仿真器及其物理层软件测试方法 | |
CN103425574B (zh) | 一种测试应用程序的方法及装置 | |
CN108255653A (zh) | 一种产品的测试方法及其终端 | |
CN110493812B (zh) | 配网测试的处理方法、装置、系统、处理器及主控设备 | |
CN108829581A (zh) | 应用程序测试方法、装置、计算机设备及存储介质 | |
WO2017000424A1 (zh) | 协议检测方法及装置 | |
CN105653438B (zh) | 安卓设备的跨进程自动化测试方法和装置 | |
CN107608901B (zh) | 基于Jmeter的测试方法及装置、存储介质、电子设备 | |
CN104198868A (zh) | 一种可灵活扩展和动态配置的智能工装 | |
CN103268289B (zh) | 在移动终端上录制应用测试脚本的方法和系统 | |
CN109460223A (zh) | 一种api网关管理系统及其方法 | |
CN105224437A (zh) | 一种获取移动终端上事务执行耗时的方法和装置 | |
CN110750458A (zh) | 大数据平台测试方法、装置、可读存储介质及电子设备 | |
CN107038120B (zh) | 一种软件测试方法和设备 | |
CN105187608B (zh) | 一种获取移动终端上应用程序耗电量的方法和装置 | |
CN103327080A (zh) | 创建物联网控制系统的方法及装置 | |
CN103488513B (zh) | 设备即插即用通用驱动方法 | |
CN103246606A (zh) | Esb平台的性能方法和系统 | |
CN109471791A (zh) | 一种需求响应通信一致性测试系统与方法 | |
CN210016474U (zh) | 配网测试控制设备及系统 | |
CN109388589A (zh) | 一种调整缓存分区比例的方法、设备及存储介质 | |
CN104424098B (zh) | 一种应用测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160106 |
|
RJ01 | Rejection of invention patent application after publication |