【技术实现步骤摘要】
一种协程调用追踪方法、系统、设备及可读存储介质
[0001]本申请涉及计算机应用性能监控的
,尤其是涉及一种协程调用追踪方法、系统、设备及可读存储介质。
技术介绍
[0002]目前,在计算机应用性能监控(Application Performance Monitoring,APM)领域,分布式链路追踪方法通常是需要对原有的框架代码进行修改,使得一个协程在接受到一个远程过程调用(Remote Procedure Call,RPC)请求后通过提取上下文信息、并将其继续注入同一个分布式事务的后续RPC请求中,使得在分布式系统中一个事务的所有RPC能共享同一个上下文信息,从而实现分布式事务的追踪。
[0003]通过修改代码的方式来完成追踪需要将修改后的代码进行重新编译才能实现。同时,对于协程来说,每个协程有对应的协程号,多个协程之间并不能根据协程号来判断协程之间的调用或创建关系,为协程的调用追踪增加了难度。由于协程的性质,协程之间的调用关系也需要通过修改代码来实现对于调用关系的存储。修改代码会对应用代码造成侵扰,降低代
【技术保护点】
【技术特征摘要】
1.一种协程调用追踪方法,其特征在于,包括:获取调用请求;根据所述调用请求,创建初始协程,所述初始协程包括初始协程号和初始操作;根据所述初始协程,创建子协程,所述子协程包括协程号和协程操作;当所述调用请求触发预设的eBPF应用程序时,根据协程关系建立规则、所述初始协程号和协程号,建立协程关系树;基于所述协程关系树,对所述子协程进行调用追踪。2.根据权利要求1所述的协程调用追踪方法,其特征在于,所述子协程为一个或多个;当多个子协程中任意两个子协程存在上下级对应关系时,上级子协程为下级子协程的父协程。3.根据权利要求2所述的协程调用追踪方法,其特征在于,当所述调用请求触发预设的eBPF应用程序时,所述根据协程关系建立规则、所述初始协程号和协程号,建立协程关系树,包括:根据所述子协程的上下级对应关系和所述协程号,建立子协程关系树;根据所述初始协程和所述子协程的对应关系、所述协程号、所述初始协程号、所述子协程关系树,建立协程关系树;所述协程关系树中的所有子协程均存在对应的父协程。4.根据权利要求3所述的协程调用追踪方法,其特征在于,所述eBPF应用程序是预存在操作系统内的,用于获取所述初始协程和所述子协程的对应关系以及所述子协程之间的上下级对应关系。5.根据权利要求3所述的协程调用追踪方法,其特征在于,所述基于所述协程关系树,对所述子协程进行调用追踪,包括:遍历所述子协程并判断所述子协程的父协程的协程操作中是否包含读操作或者写操作;若是,则将包含有读操作或者写操作的父协程作为待确定祖先协程;若否,则将所述子协程作为待确定祖先协程;记录所述待确定祖先协程对应的调取次数;根据所述调取次数,更新所述待确定祖先协程;根据更新后的所述调取次数和所述待确定祖先协程,确定祖先...
【专利技术属性】
技术研发人员:向阳,聂润杰,尹纪平,
申请(专利权)人:北京云杉世纪网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。