skywalking源码--探针插件设计

本源码来自于skywalking-agent 8.9.0版本
本节主要讲解skywalking-agent的轻量级队列内核,该实现在datacarrier模块主要用于进行数据发送OAP服务端的实现,主要采用缓存批量异步发送的方式进行发送。
注:本篇文章主要是作为自己看书后的总结,内容有可能会存在一些个人理解上的偏差,如果有网友找出问题欢迎提出,感谢!!!如果我理解上的错误误导了您,在此表示抱歉!!!

本篇主要讲述探针插件开发应该从哪几个方面入手。

框架拦截器

对于面向协议实现的跨进程调用的框架而言,都会给使用者拦截器或者是过滤器的实现扩展。框架拦截器的拦截器设计,通常会用于在不破坏业务逻辑的前提下对业务逻辑的执行进行扩展。这样的设计很符合无侵入的扩展需求。通过对拦截器的增强,当框架接收或者发送流量时实现链路数据的传递。当满足拦截后就会进入增强代码块执行增强的逻辑。

核心执行方法

对于任何的框架总会有几个核心的处理方法,而我们就是要找到所需要的核心方法对它进行探针插件的设计。

链路数据绑定

在涉及到跨线程和跨进程时需要对父线程、上层服务的数据进行传递。这里skywalking提供了 ContextSnapshot、ContextCarrier 进行处理。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值