[发明专利]函数选取方法和服务器有效
申请号: | 201810278922.7 | 申请日: | 2018-03-30 |
公开(公告)号: | CN108595319B | 公开(公告)日: | 2020-08-04 |
发明(设计)人: | 曹玉斌 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 李辉 |
地址: | 英属开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 函数 选取 方法 服务器 | ||
本说明书实施例提供一种函数选取方法和服务器。所述方法包括:运行源代码中包括调试代码的应用程序,得到所述应用程序的运行状态信息;所述运行状态信息包括线程标识对应的函数调用信息;所述函数调用信息包括函数标识以及函数标识对应的时间戳;分析预设线程标识对应的函数调用信息,得到所述预设线程标识对应的至少一个函数调用链;每个所述函数调用链包括至少一个函数标识;从所述至少一个函数调用链中选取对应的运行时间大于或等于预设时间阈值的函数标识;函数标识对应的运行时间基于该函数标识对应的时间戳得到。
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种函数选取方法和服务器。
背景技术
在应用程序的生命周期中,当一个应用程序自身发生代码升级、版本迭代或者漏洞修复等变化时,或者,与该应用程序相关联的其它应用程序发生代码升级、版本迭代或者漏洞修复等变化时,通常需要定位出该应用程序中的耗时函数,以便对该应用程序的响应时间进行优化。所述耗时函数可以为运行时间较长的函数。所述响应时间可以包括启动时间、执行某一功能的时间等。
在相关技术中,可以获取应用程序的跟踪文件(trace文件),并可以采用人工的方式来分析所述跟踪文件以从中识别出耗时函数。例如开发人员可以借助TraceView(一种测试应用程序性能的工具)来分析所述跟踪文件以从中识别出耗时函数。但是,采用人工的方式来识别耗时函数,效率和准确性较低,难以满足实际的需求。
发明内容
本说明书实施例的目的是提供一种函数选取方法和服务器,以提高耗时函数识别的效率和准确性。
为实现上述目的,本说明书实施例提供一种函数选取方法,包括:运行源代码中包括调试代码的应用程序,得到所述应用程序的运行状态信息;所述运行状态信息包括线程标识对应的函数调用信息;所述函数调用信息包括函数标识以及函数标识对应的时间戳;分析预设线程标识对应的函数调用信息,得到所述预设线程标识对应的至少一个函数调用链;每个所述函数调用链包括至少一个函数标识;从所述至少一个函数调用链中选取对应的运行时间大于或等于预设时间阈值的函数标识;函数标识对应的运行时间基于该函数标识对应的时间戳得到。
为实现上述目的,本说明书实施例提供一种服务器,包括:运行单元,用于运行源代码中包括调试代码的应用程序,得到所述应用程序的运行状态信息;所述运行状态信息包括线程标识对应的函数调用信息;所述函数调用信息包括函数标识以及函数标识对应的时间戳;分析单元,用于分析预设线程标识对应的函数调用信息,得到所述预设线程标识对应的至少一个函数调用链;每个所述函数调用链包括至少一个函数标识;选取单元,用于从所述至少一个函数调用链中选取对应的运行时间大于或等于预设时间阈值的函数标识;函数标识对应的运行时间基于该函数标识对应的时间戳得到。
为实现上述目的,本说明书实施例提供一种服务器,包括:存储器,用于存储计算机指令;处理器,用于执行所述计算机指令实现以下步骤:运行源代码中包括调试代码的应用程序,得到所述应用程序的运行状态信息;所述运行状态信息包括线程标识对应的函数调用信息;所述函数调用信息包括函数标识以及函数标识对应的时间戳;分析预设线程标识对应的函数调用信息,得到所述预设线程标识对应的至少一个函数调用链;每个所述函数调用链包括至少一个函数标识;从所述至少一个函数调用链中选取对应的运行时间大于或等于预设时间阈值的函数标识;函数标识对应的运行时间基于该函数标识对应的时间戳得到。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中,持续集成服务器可以运行源代码中包括调试代码的应用程序,得到所述应用程序的运行状态信息;可以分析预设线程标识对应的函数调用信息,得到所述预设线程标识对应的至少一个函数调用链;可以从所述至少一个函数调用链中选取对应的运行时间大于或等于预设时间阈值的函数标识。本说明书实施例中,所述持续集成服务器可以分析应用程序中预设线程标识对应的函数调用信息,得到至少一个函数调用链;可以基于预设时间阈值从所述至少一个函数调用链中过滤出耗时函数。这样,所述持续集成服务器可以提高耗时函数识别的效率和准确性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810278922.7/2.html,转载请声明来源钻瓜专利网。