[发明专利]代码跟踪方法及其系统有效
申请号: | 201310595356.X | 申请日: | 2013-11-21 |
公开(公告)号: | CN103810099B | 公开(公告)日: | 2017-05-24 |
发明(设计)人: | 陈飞;朱超;王超 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京国昊天诚知识产权代理有限公司11315 | 代理人: | 许志勇 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 跟踪 方法 及其 系统 | ||
技术领域
本发明涉及一种代码跟踪方法及其系统,尤其是一种针对线上服务代码的代码跟踪方法及其系统。
背景技术
服务代码在测试阶段能发现大部分性能瓶颈,并针对性能瓶颈进行优化,但线上的环境是复杂多变的,代码上线之后有可能会出现各种问题。当出现服务质量下降,延迟升高时,就需要使用一定的方法对性能瓶颈进行定位,并进行优化。
有鉴于此,当代码出现性能瓶颈时,一般会对性能瓶颈进行初步定位,记录关键点执行时间并记日志,然后对关键点执行时间进行分析,如果执行时间超过设定的值时就记为一个日志文件(Log),最后通过分析系统日志来定位性能瓶颈。
参考图1,是现有技术中的一种性能瓶颈的跟踪方案的执行流程,包括:在关键点前纪录开始时间(Start),在关键点结束时纪录结束时间(End),将结束时间减去开始时间(End-Start)纪录到日志中,从而确定可优化点。
然而,上述方式要求维护人员对代码结构有一定的了解,能够初步定位问题,设置关键点;并且,在关键点处需要记录执行时间,如果执行时间大于设置的时间还需要写日志,增加了代码的执行时间。
综上所述,可知现有技术中存在的线上服务代码跟踪方案复杂,不能够智能实现性能瓶颈跟踪的技术问题。
发明内容
本发明的主要目的在于提供一种代码跟踪方法及其系统,以解决现有技术中存在的线上服务代码跟踪方案复杂,不能够智能实现性能瓶颈跟踪的技术问题。
为解决上述问题,根据本发明的一个方面提供一种代码跟踪方法,其包括:创建共享内存,所述共享内存中存储有多个子进程的状态信息;通过所述共享内存存储的子进程的状态信息判断子进程的当前状态持续时间是否超时;如果超时,则通过父进程跟踪超时的子进程并记录所述子进程的堆栈信息。
其中,所述方法还包括:在子进程处理请求的状态改变时,更新所述共享内存中存储的子进程的状态信息。
其中,所述方法还包括:所述父进程定期获取所述共享内存存储的多个子进程的状态信息,并分别记录每个子进程当前状态的初始时间信息。
其中,所述判断子进程的当前状态持续时间是否超时的步骤包括:设置时间阈值;根据初始时间信息及当前时间计算子进程的当前状态持续时间;判断当前状态持续时间是否超过所述时间阈值,若是则判定子进程的当前状态持续时间超时。
其中,所述通过父进程记录超时的子进程的堆栈信息的步骤包括:通过父进程将超时的子进程的堆栈信息记录至系统日志文件中。
根据本发明的另一个方面提供一种代码跟踪系统,其包括:创建模块,用于创建共享内存,所述共享内存中存储有多个子进程的状态信息;判断模块,用于通过所述共享内存存储的子进程的状态信息判断子进程的当前状态持续时间是否超时;跟踪处理模块,用于如果所述判断模块判断超时,则跟踪超时的子进程并记录所述子进程的堆栈信息。
其中,所述系统还包括:更新模块,用于在子进程处理请求的状态改变时,更新所述共享内存中存储的子进程的状态信息。
其中,所述系统还包括:获取模块,用于定期获取所述共享内存存储的多个子进程的状态信息;时间记录模块,用于分别记录每个子进程当前状态的初始时间信息。
其中,所述判断模块包括:读取子模块,用于读取预设的时间阈值;计算子模块,用于根据初始时间信息及当前时间计算子进程的当前状态持续时间;判断子模块,用于判断当前状态持续时间是否超过所述时间阈值,若是则判定子进程的当前状态持续时间超时。
其中,所述跟踪处理模块还用于,通过父进程将超时的子进程的堆栈信息记录至系统日志文件中。
根据本发明的技术方案,通过创建共享内存,并通过获取所述共享内存存储的子进程的状态信息判断该子进程的当前状态持续时间是否超时,并跟踪超时的子进程。本发明能够自动对线上服务代码的性能瓶颈进行跟踪,从而对Master-worker模型服务代码的性能瓶颈进行优化处理。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是现有技术中的一种性能瓶颈的跟踪方案的示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310595356.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:应用程序版本检测方法和装置
- 下一篇:应用程序检测方法和装置