[发明专利]一种调用链路追踪方法及装置有效
申请号: | 202011263114.7 | 申请日: | 2020-11-12 |
公开(公告)号: | CN112486786B | 公开(公告)日: | 2022-08-09 |
发明(设计)人: | 郗晓斌 | 申请(专利权)人: | 贝壳技术有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F9/54 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 杨明月 |
地址: | 300457 天津市滨海新区经济技术开发*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 调用 追踪 方法 装置 | ||
1.一种调用链路追踪方法,其特征在于,包括:
根据一次请求过程中Laravel框架中的链路关键点的调用顺序,依次建立定位各个所述链路关键点执行过程的监控,记录各个所述链路关键点操作的预设关键信息;
根据所述调用顺序将所述预设关键信息进行排序连接,形成Laravel框架针对所述请求的服务调用链的全链路数据,并存储于日志文件;
所述链路关键点包括路由请求,所述建立定位各个所述链路关键点执行过程的监控,记录各个所述链路关键点操作的预设关键信息,包括:
监听前端请求动作,初始化第一埋点器并将所述第一埋点器绑定到请求开始事件,初始化链路信息,所述链路信息包括第一链路Id、第一服务Id及第一节点Id;获取所述请求开始事件中的所述第一埋点器的第一埋点信息,所述第一埋点信息包括第一请求参数及第一请求类型;
监听请求完成事件,获取请求完成时的第一返回值,并将所述第一返回值添加到所述第一埋点信息;获取第一链路更新信息,并将所述第一链路更新信息添加到所述第一埋点信息;
监听请求异常事件,获取所述请求异常事件内的第一异常信息,并将所述第一异常信息添加到所述第一埋点信息;
当路由结束点被采集完毕后,调用埋点器保存方法,保存所述全链路数据到所述日志文件,所述全链路数据包括所述第一埋点信息。
2.根据权利要求1所述的调用链路追踪方法,其特征在于,所述链路关键点包括RPC请求,所述建立定位各个所述链路关键点执行过程的监控,记录各个所述链路关键点操作的预设关键信息,包括:
监听RPC触发动作,初始化第二埋点器并绑定到RPC开始事件;
获取链路的链路信息,所述链路信息包括第二链路Id、第二服务Id及第二节点Id,基于所述链路信息进行链路信息更新;获取所述RPC开始事件内的http请求体,得到所述http请求体内的请求头的信息,在所述请求头的信息内注入所述链路信息;
获取所述RPC开始事件中的所述第二埋点器的第二埋点信息,所述第二埋点信息包括第二请求参数及第二请求类型;
监听RPC完成事件,获取http请求的第二返回值,并将所述第二返回值添加到所述第二埋点信息中;获取第二链路更新信息,并将所述第二链路更新信息添加到所述第二埋点信息中;
监听RPC异常事件,获取发生异常的第二异常信息,并将所述第二异常信息添加到所述第二埋点信息中;
当RPC结束点被采集完毕后,调用埋点器保存方法,保存所述第二埋点信息到当前链路内存。
3.根据权利要求1所述的调用链路追踪方法,其特征在于,所述链路关键点包括数据库操作,所述建立定位各个所述链路关键点执行过程的监控,记录各个所述链路关键点操作的预设关键信息,包括:
监听SQL事件,新建第三埋点器并绑定到所述SQL事件;获取链路的链路信息,所述链路信息包括第三链路Id、第三服务Id及第三节点Id,在所述链路信息的基础上进行链路信息更新;将第三埋点信息注入所述SQL事件内,所述第三埋点信息包括SQL事件的sql信息;获取第三链路更新信息,并将所述第三链路更新信息添加到所述第三埋点信息中;当SQL结束时,调用埋点器保存方法,保存所述第三埋点信息到当前链路内存。
4.根据权利要求1所述的调用链路追踪方法,其特征在于,所述链路关键点包括异步任务,所述建立定位各个所述链路关键点执行过程的监控,记录各个所述链路关键点操作的预设关键信息,包括:
监听异步事件触发动作;清理静态的链路信息,重置环境变量;初始化第四埋点器并绑定到异步事件开始事件;初始化链路信息,所述链路信息包括第四链路Id、第四服务Id及第四节点Id;从事件信息中反序列化出事件内的参数,添加到所述第四埋点器的第四埋点信息中;
监听异步事件完成动作,获取第四链路更新信息,并将所述第四链路更新信息添加到所述第四埋点信息中;
监听异步事件异常动作,获取异步事件内的第四异常信息,并将所述第四异常信息添加到所述第四埋点信息中;
当异步事件结束点被采集完毕后,调用埋点器保存方法,保存所述全链路数据到所述日志文件,所述全链路数据包括所述第四埋点信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贝壳技术有限公司,未经贝壳技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011263114.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:配置游戏技能的方法、系统、电子装置和存储介质
- 下一篇:一种固液分离垃圾车