一种全链路追踪数据随机上报的方法及系统与流程

文档序号:36408105发布日期:2023-12-16 16:53阅读:39来源:国知局
一种全链路追踪数据随机上报的方法及系统与流程

本发明涉及计算机通讯,特别是一种全链路追踪数据随机上报的方法及系统。


背景技术:

1、skywalking为一个开源的分布式系统跟踪和性能分析工具。

2、在当前互联网技术中,全链路追踪信息能够串联上下游的链路信息,通过一个链路标识traceid则可以查询出全链路的数据流转。因此全链路追踪技术能够在可以提供端到端的请求路径和跨链路服务调用关系,有助于故障排查和问题定位。通过全链路的追踪信息,可以准确定位出现问题的具体环节。但在当前技术背景下,传统的链路追踪需要在每个链路节点上都进行主动的上报操作,这增加了系统的性能开销和延迟。如果每个请求都要上报完整的链路追踪信息,会导致大量的数据量产生。对于高并发的系统来说,这将造成存储和网络传输的压力,甚至可能引发性能问题。如果仅是某些链路不上报追踪信息,又会导致全链路的追踪信息不完整,仅是单独链路的信息对排查全链路的问题没有价值。


技术实现思路

1、为了解决上述技术问题,本发明提供一种全链路追踪数据随机上报的方法及系统,实现了只在一定概率下进行随机上报操作,降低了系统的性能开销和延迟,提升了系统的性能表现。

2、本发明采用以下技术方案实现:

3、一种全链路追踪数据随机上报的方法及系统,所述方法包括以下步骤:

4、步骤s1、链路在收到请求时,首先判断请求头中是否包含全链路追踪标识traceid,如果存在,即为下游链路;如果不存在或为空,即为初始链路,此时生成一个随机的traceid作为标识,然后再生成一个随机小数n与概率阈值t进行比较,根据比较结果决定是否需要将初始链路的追踪信息上报至skywalking,然后将生成的traceid和上报标识ok放入请求头中传到下游链路;

5、步骤s2、下游链路收到请求后,从请求头中获取全链路追踪标识traceid和上报标识ok,如果traceid为空,则表示下游链路为初始链路,执行步骤s1;如果traceid不为空,则需要根据上报标识ok的值来判断是否需要将下游链路的追踪信息上报至skywalking;

6、步骤s3、当skywalking的服务器指标达到预警线时,初始链路在能够将初始链路的追踪信息上报至skywalking的情况下,选择不上报,并将初始链路的追踪信息放入一个追踪信息数组tracedata中,并携带追踪信息数组tracedata请求下游链路;

7、步骤s4、下游链路收到带有tracedata数组的请求后,将下游链路的追踪信息添加到tracedata数组中,将tracedata数组上报至skywalking。

8、优选的,所述步骤s1进一步具体为:生成一个0-1之间的随机小数n,在系统中设置一个追踪数据上报的概率阈值t与n进行比较,如果n>=t,则将上报标识ok设为false,并不上报至skywalking;如果n<t,则将上报标识ok设为true,并上报至skywalking。

9、优选的,所述步骤s2进一步具体为:如果traceid不为空,且上报标识ok为true,则将下游链路的追踪信息上报至skywalking;如果traceid不为空,且上报标识ok为false,则不将下游链路的追踪信息上报至skywalking。

10、优选的,所述步骤s4进一步具体为:如果下游链路的下方还有下游链路,则继续携带tracedata数组请求下方的下游链路;如果下游链路的下方没有下游链路,则下游链路是全链路的最后一个链路,则批量将tracedata数组上报至skywalking。

11、一种全链路追踪数据随机上报的系统,所述系统包括判断模块、上报模块a、非上报模块、上报模块b;

12、判断模块:链路在收到请求时,首先判断请求头中是否包含全链路追踪标识traceid,如果存在,即为下游链路;如果不存在或为空,即为初始链路,此时生成一个随机的traceid作为标识,然后再生成一个随机小数n与概率阈值t进行比较,根据比较结果决定是否需要将初始链路的追踪信息上报至skywalking,然后将生成的traceid和上报标识ok放入请求头中传到下游链路;

13、上报模块a:下游链路收到请求后,从请求头中获取全链路追踪标识traceid和上报标识ok,如果traceid为空,则表示下游链路为初始链路,执行步骤s1;如果traceid不为空,则需要根据上报标识ok的值来判断是否需要将下游链路的追踪信息上报至skywalking;

14、非上报模块:当skywalking的服务器指标达到预警线时,初始链路在能够将初始链路的追踪信息上报至skywalking的情况下,选择不上报,并将初始链路的追踪信息放入一个追踪信息数组tracedata中,并携带追踪信息数组tracedata请求下游链路;

15、上报模块b:下游链路收到带有tracedata数组的请求后,将下游链路的追踪信息添加到tracedata数组中,将tracedata数组上报至skywalking。

16、优选的,所述判断模块进一步具体为:生成一个0-1之间的随机小数n,在系统中设置一个追踪数据上报的概率阈值t与n进行比较,如果n>=t,则将上报标识ok设为false,并不上报至skywalking;如果n<t,则将上报标识ok设为true,并上报至skywalking。

17、优选的,所述上报模块a进一步具体为:如果traceid不为空,且上报标识ok为true,则将下游链路的追踪信息上报至skywalking;如果traceid不为空,且上报标识ok为false,则不将下游链路的追踪信息上报至skywalking。

18、优选的,所述上报模块b进一步具体为:如果下游链路的下方还有下游链路,则继续携带tracedata数组请求下方的下游链路;如果下游链路的下方没有下游链路,则下游链路是全链路的最后一个链路,则批量将tracedata数组上报至skywalking。

19、本发明的有益效果:

20、本发明提供一种全链路追踪数据随机上报的方法及系统,实现了只在一定概率下进行随机上报操作,降低了系统的性能开销和延迟,提升了系统的性能表现。并且整条链路能够实现要么全上报,要么都不上报,保证了全链路的数据完整性。并且能够在服务器资源紧张时实现批量上报,进一步的降低了对服务器资源的压力。



技术特征:

1.一种全链路追踪数据随机上报的方法,其特征在于:所述方法包括以下步骤:

2.根据权利要求1所述的一种全链路追踪数据随机上报的方法,其特征在于:所述步骤s1进一步具体为:生成一个0-1之间的随机小数n,在系统中设置一个追踪数据上报的概率阈值t与n进行比较,如果n>=t,则将上报标识ok设为false,并不上报至skywalking;如果n<t,则将上报标识ok设为true,并上报至skywalking。

3.根据权利要求2所述的一种全链路追踪数据随机上报的方法,其特征在于:所述步骤s2进一步具体为:如果traceid不为空,且上报标识ok为true,则将下游链路的追踪信息上报至skywalking;如果traceid不为空,且上报标识ok为false,则不将下游链路的追踪信息上报至skywalking。

4.根据权利要求1所述的一种全链路追踪数据随机上报的方法,其特征在于:所述步骤s4进一步具体为:如果下游链路的下方还有下游链路,则继续携带tracedata数组请求下方的下游链路;如果下游链路的下方没有下游链路,则下游链路是全链路的最后一个链路,则批量将tracedata数组上报至skywalking。

5.一种全链路追踪数据随机上报的系统,其特征在于:所述系统包括判断模块、上报模块a、非上报模块、上报模块b;

6.根据权利要求5所述的一种全链路追踪数据随机上报的系统,其特征在于:所述判断模块进一步具体为:生成一个0-1之间的随机小数n,在系统中设置一个追踪数据上报的概率阈值t与n进行比较,如果n>=t,则将上报标识ok设为false,并不上报至skywalking;如果n<t,则将上报标识ok设为true,并上报至skywalking。

7.根据权利要求6所述的一种全链路追踪数据随机上报的系统,其特征在于:所述上报模块a进一步具体为:如果traceid不为空,且上报标识ok为true,则将下游链路的追踪信息上报至skywalking;如果traceid不为空,且上报标识ok为false,则不将下游链路的追踪信息上报至skywalking。

8.根据权利要求5所述的一种全链路追踪数据随机上报的系统,其特征在于:所述上报模块b进一步具体为:如果下游链路的下方还有下游链路,则继续携带tracedata数组请求下方的下游链路;如果下游链路的下方没有下游链路,则下游链路是全链路的最后一个链路,则批量将tracedata数组上报至skywalking。


技术总结
本发明涉及计算机通讯技术领域,特别是一种全链路追踪数据随机上报的方法及系统,所述方法包括以下步骤:步骤S1、链路在收到请求时,首先判断请求头中是否包含全链路追踪标识traceId,如果存在,即为下游链路;如果不存在或为空,即为初始链路,此时生成一个随机的traceId作为标识,然后再生成一个随机小数n与概率阈值t进行比较,根据比较结果决定是否需要将初始链路的追踪信息上报至skywalking;本发明实现了只在一定概率下进行随机上报操作,降低了系统的性能开销和延迟,提升了系统的性能表现。并且整条链路能够实现要么全上报,要么都不上报,保证了全链路的数据完整性。并且能够在服务器资源紧张时实现批量上报,进一步的降低了对服务器资源的压力。

技术研发人员:刘德建,叶伟,李佳
受保护的技术使用者:福建天晴在线互动科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1