skywalking 源码边阅读,边记录笔记

本文记录了SkyWalking的源码学习过程及环境配置步骤。首先,通过环境变量或默认路径读取配置文件;然后,初始化插件Finder加载skywalking-plugin.def文件;接着,利用ByteBuddy构建增强;最后,启动agent。主要涉及配置加载、插件加载和agent启动等核心流程。
摘要由CSDN通过智能技术生成

之前也有阅读过skywalking的源码,但是很久不看或者当时为了好奇,没有使用,这东西经过一段时间就忘记了,现在写个笔记,记录下学习的过程,也方便之后查漏补缺

环境配置

见之前的文章

启动项目,调试spring boot web

1 启动项目

核心流程分为几步:

  1. 加载核心配置
  2. 初始化插件的finder,帮助加载插件
  3. 构建ByteBuddy
  4. 启动agent

1.1 加载配置

 SnifferConfigInitializer.initializeCoreConfig(agentArgs);

加载配置文件的默认顺序:
先读取环境变量:skywalking_config
如果环境变量为空,则读取: /config/agent.config

  • 读取系统变量的配置,如果有相同的,即覆盖.
    overrideConfigBySystemProp();
  • 读取启动命令的配置,覆盖已有的配置,(若有)
    overrideConfigByAgentOptions(agentOptions);

将加载的配置初始化到实体类上

initializeConfig(Config.class);

2 、初始化插件finder(嗅探器?)

2.1、 加载默认的插件

org.apache.skywalking.apm.agent.core.plugin.PluginBootstrap#loadPlugins
AgentClassLoader.initDefaultLoader();
读取类加载器agentClassLoader 下的 skywalking-plugin.def 文件
类似于这种

skywalking-plugin.def
MOCKPLUGIN=org.apache.skywalking.apm.agent.core.plugin.MockAbstractClassEnhancePluginDefine

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值