【技术实现步骤摘要】
本专利技术涉及计算机
,具体涉及一种时长获取方法和装置。
技术介绍
随着移动终端技术的日益发展,应用程序数量也呈现出爆炸式增长趋势。应用程序开发者提供各种各样的应用程序,比如,娱乐、游戏、社交等类型的应用程序。对于应用程序开发者来说,为了保证应用程序的质量,需要对应用程序的性能进行监测,然后,基于监测结果来完善应用程序,以提高其运行质量;比如,需要统计应用程序中函数的执行耗时(即执行时长)、检测应用程序中函数之间的调用关系等等。现有技术中,统计函数的执行耗时需要在该函数的执行前后埋点,在运行过程中计算函数的执行耗时;具体地,预先在应用程序内部设置针对目标函数的两个信息收集函数,一个信息收集函数用于收集函数执行前的函数信息,比如收集函数执行前的时间信息、函数调用信息以及其他函数相关信息,另一个信息收集函数用于收集函数执行完成后的函数信息,比如,收集函数执行完成后的时间信息、函数调用信息以及其他函数相关信息,这样在运行应用程序,也即运行应用程序中的函数时,可以通过这两个信息收集函数来分别收集函数执行前、执行后的时间信息,从而获取该函数的执行耗时(执行时长)。在对现有技术的研究和实践过程中,本专利技术的专利技术人发现,由于现有技术统计函数的执行耗时,需要执行应用程序内部相应的信息收集函数,其会影响应用程序的性能,因此,会导致统计的函数执行耗时不准确,函数执行耗时统计的准确性比较低。
技术实现思路
本专利技术实施例提供一种时长获取方法和装置,可以提高函数耗时统计的准确性。本专利技术实施例提供一种时长获取方法,包括:在开始执行应用程序内部的目标函数时,跳转至执行 ...
【技术保护点】
一种时长获取方法,其特征在于,包括:在开始执行应用程序内部的目标函数时,跳转至执行所述应用程序外部的第一时间获取函数,以获取所述目标函数的开始执行时间;在执行完所述第一时间获取函数时,跳转至执行所述目标函数;在执行完所述目标函数时,跳转至执行所述应用程序外部的第二时间获取函数,以获取所述目标函数的执行完成时间;根据所述开始执行时间和所述执行完成时间获取所述目标函数的执行时长。
【技术特征摘要】
1.一种时长获取方法,其特征在于,包括:在开始执行应用程序内部的目标函数时,跳转至执行所述应用程序外部的第一时间获取函数,以获取所述目标函数的开始执行时间;在执行完所述第一时间获取函数时,跳转至执行所述目标函数;在执行完所述目标函数时,跳转至执行所述应用程序外部的第二时间获取函数,以获取所述目标函数的执行完成时间;根据所述开始执行时间和所述执行完成时间获取所述目标函数的执行时长。2.如权利要求1所述的时长获取方法,其特征在于,所述跳转至执行所述应用程序外部的第一时间获取函数的步骤具体包括:通过第一钩子函数跳转至执行所述应用程序外部的第一时间获取函数;所述跳转至执行所述应用程序外部的第二时间获取函数的步骤具体包括:通过第二钩子函数跳转至执行所述应用程序外部的第二时间获取函数。3.如权利要求2所述的时长获取方法,其特征在于,所述通过第一钩子函数跳转至执行所述应用程序外部的第一时间获取函数的步骤具体包括:获取第一函数执行指令;通过第一钩子函数对所述第一函数执行指令进行修改,以使得所述第一函数执行指令指示执行所述应用程序外部的所述第一时间获取函数;根据所述第一函数指令跳转至执行所述第一时间获取函数。4.如权利要求3所述的时长获取方法,其特征在于,所述通过第一钩子函数对所述第一函数执行指令进行修改的步骤具体包括:通过第一钩子函数将所述第一函数执行指令指向的函数地址修改为所述第一时间获取函数的函数地址。5.如权利要求2所述的时长获取方法,其特征在于,所述通过第二钩子函数跳转至执行所述应用程序外部的第二时间获取函数的步骤具体包括:获取第二函数执行指令;通过第二钩子函数对所述第二函数执行指令进行修改,以使得所述第一函数执行指令指示执行所述应用程序外部的所述第二时间获取函数;根据所述第二函数指令跳转至执行所述第一时间获取函数。6.如权利要求5所述的时长获取方法,其特征在于,所述通过第二钩子函数对所述第二函数执行指令进行修改的步骤具体包括:通过第二钩子函数将所述第二函数执行指令指向的函数地址修改为所述第二时间获取函数的函数地址。7.如权利要求1所述的时长获取方法,其特征在于,所述跳转至执行所述应用程序外部的第一时间获取函数,以获取所述目标函数的开始执行时间的步骤具体包括:跳转至执行所述应用程序外部的第一时间获取函数,以获取所述目标函数的开始执行时间并将所述开始执行时间写入共享内存中;所述跳转至执行所述应用程序外部的第二时间获取函数,以获取所述目标函数的执行完成时间的步骤具体包括:跳转至执行所述应用程序外部的第二时间获取函数,以获取所述目标函数的执行完成时间并将所述执行完成时间写入所述共享内存中;所述根据所述开始执行时间和所述执行完成时间获取所述目标函数的执行时长的步骤具体包括:从所述共享内存中提取所述开始执行时间和所述执行完成时间;根据所述开始执行时间和所述...
【专利技术属性】
技术研发人员:王俊俊,王波,彭毕雨,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。