全网最全Skywalking8.9.1源码解析系列文章

 

 1、本系列文档简介

本系列文章为研究Skywalking-OAP8.9.1版本, 探针Skywalking-java8.9.0时所著,文章内容来源有博客、官网、自己的体会、源代码剖析、测试所得。专业性的知识参考权威性官方文档,保证内容的可靠性。

2、Skywalking简介

  • 起源:Skywalking是由国内开源爱好者吴晟(原OneAPM工程师)开源并提交到Apache孵化器的产品,它同时吸收了Zipkin/Pinpoint/CAT的设计思路,支持非侵入式埋点。是一款基于分布式跟踪的应用程序性能监控系统。另外社区还发展出了一个叫OpenTracing的组织,旨在推进调用链监控的一些规范和标准工作。

  • 为什么选择Skywalking:

    • 1、SkyWalking 支持很多框架,包括很多国产框架,例如,Dubbo、gRPC、SOFARPC 等等,也有很多开发者正在不断向社区提供更多插件以支持更多组件无缝接入 SkyWalking。

    • 2、SkyWalking 增长势头强劲,社区活跃,中文文档齐全,没有语言障碍

3、Skywalking核心功能

  • JVM分析(metrics)

  • 服务拓扑图分析

  • 服务、服务实例和端点依赖性分析

  • 检测到慢速服务和端点(metrics)

  • 性能剖析

  • 链路追踪(trace)

  • 数据库访问指标。检测慢速数据库访问语句(包括 SQL 语句)

  • 报警

  • 日志(log)

这里介绍几个概念:
  log: 日志,Skywalking中需要进行特殊的配置才能显示日志信息,这个不符合我们的需求,我们要求是无侵入的性能监控。
  trace: 链路追踪,能够反映输出接口的调用链,比如这个接口调用其他的接口,调用了哪个数据库等等,详细信息请参考OpenTrace官方文档,此文档定义了链路追踪规范
  metrics: 度量信息,Skywalking中的所有的图标展示的数据信息统称为metric

详细UI界面功能请查看文档UI功能界面介绍OpenTrace官方文档:OpenTrace官方文档这里简要附一张图,表示Skywalking中的Trace相关概念:

4、Skywalking代码模块及架构

官方给出的系统架构图如下所示:

从图中可以看出Skywalking主要由以下三个模块组成:

  • Skywalking-Agent:探针,数据捕获(后续简称(Agent)[探针])

SkyWalking Agent 采用了微内核架构(Microkernel Architecture),那什么是微内核架构呢?微内核架构也被称为插件化架构(Plug-in Architecture),是一种面向功能进行拆分的可扩展性架构。在基于产品的应用中通常会使用微内核架构,例如,IDEA、Eclipse 这类 IDE 开发工具,内核都是非常精简的,对 Maven、Gradle 等新功能的支持都是以插件的形式增加的。如下图所示,微内核架构分为核心系统和插件模块两大部分。具体内容详解见《Skywalking-Agent项目结构》

Skywalking8.9.1源码解析<一>-Skywalking简介及系统架构解析 (qq.com)https://mp.weixin.qq.com/s?__biz=Mzg5MjYwNjUwNA==&mid=2247484253&idx=1&sn=572f5eb5decb64b0859bc5aa31acc0fd&chksm=c03ac21af74d4b0cd0a1cd3f78ac19b7c6d9ca9ea304a3c0827b4cb4f00d2873f7ba3590279e&token=702888260&lang=zh_CN#rd

贴多了就是抄袭了,作者不让转载,这里推荐关注作者公众号:任重道猿

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要下载SkyWalking的GitHub源码,你可以使用以下命令进行克隆操作: ``` git clone --recurse-submodules https://github.com/apache/skywalking.git ``` 或者 ``` git clone https://github.com/apache/skywalking.git ``` 这将克隆整个SkyWalking项目的源代码到你的本地。\[1\] 如果你想从官方仓库创建自己的Fork,可以访问https://github.com/OpenSkywalking/skywalkingFork,并按照指示进行操作。通过Fork,你可以自由地提交自己的注释和修改。\[2\] 如果你想调试源码,你可以在org.skywalking.apm.agent.SkyWalkingAgent类的#premain(...)方法中设置断点。然后,在运行Web项目的Application的#main(args)方法时,添加JVM启动参数`-javaagent:/path/to/skywalking-agent/skywalking-agent.jar`,其中`/path/to`是你编译出的skywalking-agent目录的绝对路径。\[3\] #### 引用[.reference_title] - *1* [skywalking源码运行](https://blog.csdn.net/a249040113/article/details/106048539)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [SkyWalking 源码分析 —— 调试环境搭建](https://blog.csdn.net/weixin_42073629/article/details/119701966)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值