函数执行时间的获取方法及装置制造方法及图纸

技术编号:36810582 阅读:28 留言:0更新日期:2023-03-09 00:42
本公开是关于函数执行时间的获取方法及装置。该方法包括:获取项目源码中所有的JavaScript文件对应的JavaScript语法树;JavaScript语法树中包括JavaScript文件中所有的函数语法树声明;在各个函数语法树声明对应的函数语法树中插入性能采集语法树,得到修改后的JavaScript语法树;获取修改后的JavaScript语法树对应的新的JavaScript文件产物;在新的JavaScript文件产物中添加函数性能上报指令后,发布上线;函数性能上报指令用于上报性能参数;在检测到用户操作时,获取用户操作所对应的目标函数,并采集目标函数的性能数据;获取目标函数的性能数据,并按照预设方式展示目标函数的性能数据。方式展示目标函数的性能数据。方式展示目标函数的性能数据。

【技术实现步骤摘要】
函数执行时间的获取方法及装置


[0001]本公开涉及软件开发
,尤其涉及函数执行时间的获取方法及装置。

技术介绍

[0002]前端项目编码过程中产生大量的模块与函数用于实现相应功能,通常某个功能拆分为多个流程,单个流程在函数中实现,多个流程在模块中组织,最终实现某个功能,在代码层面,模块对应为一个JavaScript文件,如果项目存在性能问题,运行比较卡顿,则开发者需定位卡顿原因,找出有性能问题的模块和相关函数,对其进行改造优化性能,其本质上是改造模块中的函数,修改其代码以提升性能。
[0003]通常开发者有两种方式进行性能问题定位,
[0004]方法一:通过开发者工具(比如chrome dev tools)打开项目,然后模拟用户操作,操作完成后工具提供函数执行堆栈与性能相关数据,开发者通过性能相关数据分析出有问题的模块和函数;
[0005]方法二:在关键模块和函数中手动埋入性能采集代码,用户在操作界面时,相应模块和函数的性能数据会收集上来,开发者通过分析性能数据,分析有性能问题的模块和函数。<br/>[0006]本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种函数执行时间的获取方法,其特征在于,包括:获取项目源码中所有的JavaScript文件对应的JavaScript语法树;所述JavaScript语法树中包括所述JavaScript文件中所有的函数语法树声明;在各个所述函数语法树声明对应的函数语法树中插入性能采集语法树,得到修改后的JavaScript语法树;所述性能采集语法树用于采集函数所在的模块、函数名称、函数开始执行时间和函数结束执行时间;获取所述修改后的JavaScript语法树对应的新的JavaScript文件产物;在所述新的JavaScript文件产物中添加函数性能上报指令后,发布上线;所述函数性能上报指令用于上报性能参数;在检测到用户操作时,获取用户操作所对应的目标函数,并通过所述性能采集语法树采集所述目标函数的性能数据,所述目标函数的性能数据包括:所述目标函数所在的模块、所述目标函数的名称、所述目标函数的开始执行时间和所述目标函数的结束执行时间;获取所述目标函数的性能数据,并按照预设方式展示所述目标函数的性能数据。2.根据权利要求1所述的方法,其特征在于,所述获取项目源码中所有的JavaScript文件对应的JavaScript语法树,包括:拉取项目源码;遍历所述项目源码中所有的JavaScript文件;根据JavaScript语法编译器编译所有的所述JavaScript文件,得到所有的所述JavaScript文件对应的JavaScript语法树。3.根据权利要求1所述的方法,其特征在于,所述在各个所述函数语法树声明对应的函数语法树中插入性能采集语法树,得到修改后的JavaScript语法树,包括:在所述函数语法树开始处插入采集开始代码对应的语法树,所述采集开始代码对应的语法树用于收集所述函数所在的模块、所述函数名称、所述函数开始执行时间;在所述函数语法树末尾处插入采集结束代码对应的语法树,所述采集结束代码对应的语法树用于收集所述函数结束执行时间。4.根据权利要求1所述的方法,其特征在于,所述在所述新的JavaScript文件产物中添加性能上报指令,包括:在所述新的JavaScript文件产物中的项目入口JavaScript文件中添加所述函数性能上报指令。5.根据权利要求1所述的方法,其特征在于,所述获取所述目标函数的性能数据之后,还包括:对所述目标函数的性能数据进行数据分析和聚合;并将处理后的数据存储到数据引擎中。6.根据权利要求5所述的方法,其特征在于,所述按照预设方式展示所述目标函数的性能数据,包括:通过图表的方式展示所述处理后的数据。7.根据权利要求6所述的方法,其特征在于,所述图...

【专利技术属性】
技术研发人员:龙佳
申请(专利权)人:无线生活杭州信息科技有限公司
类型:发明
国别省市:

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

1