3、skywalking源码--Agent发送trace数据

本源码来自于skywalking-agent 8.9.0版本

注:本篇文章主要是作为自己看书后的总结,内容有可能会存在一些个人理解上的偏差,如果有网友找出问题欢迎提出,感谢!!!如果我理解上的错误误导了您,在此表示抱歉!!!

这部分的内容会涉及到 轻量级队列link的内容。这里主要讲述trace数据在agent端发送时涉及到的类。

TracingContextListener

在afterFinished方法内将Trace Segment数据通过DataCarrier放入 channels中。

IConsumer

在consume方法内将channels中的数据进行消费。

TraceSegmentServiceClient

实现IConsumer 、TracingContextListener、GRPCChannelListener接口。
TraceSegmentServiceClient负责将 TraceSegment数据异步发送到OAP。这部分在 TraceSegmentServiceClient#consume里面处理,包含#onNext(发送)、#onError(发送异常)、#onCompleted(成功发送)

TraceSegmentServiceClient#afterFinished会将 Trace Segment数据放入DataCarrier。

TraceSegmentServiceClient#statusChanged,当状态为连接成功时会发布一个订阅任务,用于提交Trace Segment数据。

ConsumerThread

ConsumerThread继承 Thread,在 run方法内部会通过调用 IConsumer#consume 去消费 dataSources 。ConsumerThread通过 IConsumer与TraceSegmentServiceClient关联。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值