[发明专利]一种调用链路追踪方法及装置有效
申请号: | 202011263114.7 | 申请日: | 2020-11-12 |
公开(公告)号: | CN112486786B | 公开(公告)日: | 2022-08-09 |
发明(设计)人: | 郗晓斌 | 申请(专利权)人: | 贝壳技术有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F9/54 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 杨明月 |
地址: | 300457 天津市滨海新区经济技术开发*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 调用 追踪 方法 装置 | ||
本发明实施例提供一种调用链路追踪方法及装置,该方法包括:根据一次请求过程中Laravel框架中的链路关键点的调用顺序,依次建立定位各个链路关键点执行过程的监控,记录各个链路关键点操作的预设关键信息;根据调用顺序将预设关键信息进行排序连接,形成Laravel框架针对请求的服务调用链的全链路数据,并存储于日志文件。本发明实施例提供的调用链路追踪方法及装置,通过根据Laravel框架中的链路关键点的调用顺序,将各个链路关键点操作的预设关键信息排序连接,形成Laravel框架服务调用链全链路数据,存储于日志文件,可以生成展现调用链的全部信息的链路日志,而非孤立的错误信息,提升线上问题的解决时效。
技术领域
本发明涉及计算机技术领域,具体涉及一种调用链路追踪方法及装置。
背景技术
目前各种编程语言搭建的系统复杂度变得越来越高,程序中隐藏的bug在某时某刻就会影响正常系统服务的提供,因此对于提供服务的系统而言,如何快速定位程序中遇到的问题就成为了提高系统服务可用性的一项核心举措,为此一些语言已经开发出了针对本语言的调用链路追踪脚本,方便在系统异常时追踪发生问题的链路走向,溯源问题发生源头,避免了从海量日志中捞取所需内容造成的时间浪费,提升了处理问题的效率。
对于Laravel框架开发的系统来说,服务异常时问题的处理速度是提高系统可用性的极为重要的一项能力,而现有的日志系统在错误发生时呈现的是错误发生处的点的信息,无法对本次调用的全貌进行及时展现,导致一个问题的平均定位时间达到30分钟到1小时,更差的甚至能到数小时,极大的影响了问题的解决时效。PHP语言的Laravel框架目前并没有一套可套用的链路追踪服务提供链路问题定位功能,而Java等服务均有对应的链路追踪组件可直接使用,因此开发一套Laravel框架可用的链路追踪服务组件势在必行。
发明内容
为解决现有技术中的问题,本发明实施例提供一种调用链路追踪方法及装置。
第一方面,本发明实施例提供一种调用链路追踪方法,该方法包括:根据一次请求过程中Laravel框架中的链路关键点的调用顺序,依次建立定位各个所述链路关键点执行过程的监控,记录各个所述链路关键点操作的预设关键信息;根据所述调用顺序将所述预设关键信息进行排序连接,形成Laravel框架针对所述请求的服务调用链的全链路数据,并存储于日志文件。
进一步地,所述链路关键点包括路由请求,所述建立定位各个所述链路关键点执行过程的监控,记录各个所述链路关键点操作的预设关键信息,包括:监听前端请求动作,初始化第一埋点器并将所述第一埋点器绑定到请求开始事件,初始化链路信息,所述链路信息包括第一链路Id、第一服务Id及第一节点Id;获取所述请求开始事件中的所述第一埋点器的第一埋点信息,所述第一埋点信息包括第一请求参数及第一请求类型;监听请求完成事件,获取请求完成时的第一返回值,并将所述第一返回值添加到所述第一埋点信息;获取第一链路更新信息,并将所述第一链路更新信息添加到所述第一埋点信息;监听请求异常事件,获取所述请求异常事件内的第一异常信息,并将所述第一异常信息添加到所述第一埋点信息;当路由结束点被采集完毕后,调用埋点器保存方法,保存所述全链路数据到所述日志文件,所述全链路数据包括所述第一埋点信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贝壳技术有限公司,未经贝壳技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011263114.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:配置游戏技能的方法、系统、电子装置和存储介质
- 下一篇:一种固液分离垃圾车