[发明专利]函数执行时间的获取方法及装置在审
申请号: | 202211410814.3 | 申请日: | 2022-11-11 |
公开(公告)号: | CN115756418A | 公开(公告)日: | 2023-03-07 |
发明(设计)人: | 龙佳 | 申请(专利权)人: | 无线生活(杭州)信息科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 北京尚伦律师事务所 11477 | 代理人: | 赵昕 |
地址: | 311202 浙江省杭州市萧山区经济技*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 函数 执行时间 获取 方法 装置 | ||
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所述的方法,其特征在于,所述图表包括以下至少一种:函数执行时间分布图、函数执行时间直方图、慢函数列表和热点函数列表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无线生活(杭州)信息科技有限公司,未经无线生活(杭州)信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211410814.3/1.html,转载请声明来源钻瓜专利网。