函数耗时跟踪方法、设备和存储介质技术

技术编号:25521125 阅读:24 留言:0更新日期:2020-09-04 17:11
本申请涉及一种函数耗时跟踪方法、设备和存储介质。在应用程序运行过程中,该方法在预定的开启时机,查找目标轨迹开关变量,并将查找到的目标轨迹开关变量的状态设置为打开状态;获取目标轨迹文件的文件描述符;在目标轨迹开关变量处于打开状态期间,若有第一函数调用第二函数向指定文件描述符对应的文件写入数据,判断指定文件描述符是否包括目标轨迹文件的文件描述符;在包括目标轨迹文件的文件描述符的情况下,输出数据,该数据包括第一函数的耗时数据。采用本方法不受使用场景的限制,且提高了函数耗时跟踪的可靠性。

【技术实现步骤摘要】
函数耗时跟踪方法、设备和存储介质
本申请涉及计算机
,特别是涉及一种函数耗时跟踪方法、设备和存储介质。
技术介绍
为了优化运行在电子设备上的应用程序的性能,需要对应用程序运行期间调用的函数的执行耗时进行跟踪,以便于开发者定位到应用程序运行期间的耗时点,从而针对耗时点进行优化。以对运行在安卓操作系统上的应用程序进行函数耗时跟踪为例,目前使用的函数耗时跟踪工具是systrace(系统跟踪)工具。为了使用systrace工具进行函数耗时跟踪,开发者需要将安装有该应用程序的电子设备与安装有systrace工具的电脑连接,在电子设备上运行应用程序,并通过电脑端上运行的systrace工具对应用程序运行过程中调用的函数的执行耗时进行跟踪。可见,使用systrace工具进行函数耗时跟踪需要搭建特定的运行环境,即需要与安装有systrace工具的电脑连接,且只有在应用程序运行过程中复现了耗时场景的情况下才能追踪到耗时问题。使用场景受限导致systrace工具可靠性有待提升。
技术实现思路
为解决如何提高函数耗时跟踪可靠本文档来自技高网...

【技术保护点】
1.一种函数耗时跟踪方法,其特征在于,在应用程序运行过程中,所述方法包括:/n在预定的开启时机,查找目标轨迹开关变量,并将查找到的所述目标轨迹开关变量的状态设置为打开状态;/n获取目标轨迹文件的文件描述符;/n在所述目标轨迹开关变量处于打开状态期间,若有第一函数调用第二函数向指定文件描述符对应的文件写入数据,判断所述指定文件描述符是否包括所述目标轨迹文件的文件描述符;/n在所述指定文件描述符包括所述目标轨迹文件的文件描述符的情况下,输出所述数据,所述数据包括所述第一函数的耗时数据。/n

【技术特征摘要】
1.一种函数耗时跟踪方法,其特征在于,在应用程序运行过程中,所述方法包括:
在预定的开启时机,查找目标轨迹开关变量,并将查找到的所述目标轨迹开关变量的状态设置为打开状态;
获取目标轨迹文件的文件描述符;
在所述目标轨迹开关变量处于打开状态期间,若有第一函数调用第二函数向指定文件描述符对应的文件写入数据,判断所述指定文件描述符是否包括所述目标轨迹文件的文件描述符;
在所述指定文件描述符包括所述目标轨迹文件的文件描述符的情况下,输出所述数据,所述数据包括所述第一函数的耗时数据。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在预定的关闭时机,将所述目标轨迹开关变量的状态设置为关闭状态。


3.根据权利要求1所述的方法,其特征在于,所述在预定的开启时机,查找目标轨迹开关变量,并将查找到的所述目标轨迹开关变量的状态设置为打开状态,包括:
当所述应用程序冷启动,查找目标轨迹开关变量,并将查找到的所述目标轨迹开关变量的状态设置为打开状态;
或者,
当所述应用程序的性能下降到阈值水平,查找目标轨迹开关变量,并将查找到的所述目标轨迹开关变量的状态设置为打开状态;
或者,
响应于接收到的开启指示消息,查找目标轨迹开关变量,并将查找到的所述目标轨迹开关变量的状态设置为打开状态。


4.根据权利要求2所述的方法,其特征在于,所述在预定的关闭时机,将所述目标轨迹开关变量的状态设置为关闭状态,包括:
当所述应用程序的目标阶段结束,将所述目标轨迹开关变量的状态设置为关闭状态;
或者,
当所述目标轨迹开关变量处于打开状态的持续时间达到设定时长阈值,将所述目标轨迹开关变量的状态设置为关闭状态。


5.根据权利要求1至4任一项所述的方法,其特征在于,所述目标轨迹开关变量包括系统服务层的轨迹开关变量和本地服务层的轨迹开关变量。

【专利技术属性】
技术研发人员:宋金时
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

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

1