这门课解决什么问题

这套资料针对的是后端开发在落地链路追踪时的真实痛点。很多团队接入 SkyWalking 后,只能看官方默认的拓扑图和指标面板。一旦遇到需要扩展自定义协议、增加业务标签过滤,或者排查 OAP 端数据聚合丢失的问题,就会卡在源码层面无从下手。课程没有停留在工具安装和基础配置,而是直接切入探针端与服务端的数据交互机制,重点解决“数据怎么采集、怎么传输、OAP 怎么接收并处理”这一核心链路。它适合已经熟悉 Java 基础,有过微服务治理经验,并且需要基于现有 APM 架构做定制化改造的开发者。

学完能独立做什么

跟着这套源码剖析走完,你能够独立完成 SkyWalking 的深度定制。具体来说,学完后你可以自己编写插件去拦截非官方支持的自定义框架,把业务侧的自定义变量挂载到链路上下文里;能看懂 OAP 端的流处理逻辑,针对海量数据场景调整聚合规则或实现自定义存储扩展;当线上链路追踪出现数据断档或指标异常时,能通过本地调试快速定位是 Agent 端没采集到,还是 OAP 端处理时被丢弃。这就意味着你不再只是一个会部署开源监控工具的运维,而是具备二次开发能力的架构参与者。

资料怎么配合练习

这套资料不是零基础扫盲课,建议你在学习前先跑通一次基础的 SkyWalking 监控示例,对 Agent 接入和 OAP 启动有直观印象。看视频时,建议优先从 Agent 端本地调试这块入手,把源码拉到本地 IDE 里跑通断点。接着重点看 JVM 指标与链路追踪数据的收集与发送逻辑,这是理解探针工作机制的核心。每看完一个数据收集模块,就回到源码里找到对应的插件入口,自己加一行日志或断点,观察数据是如何被打包发送的。最后再结合 OAP 端的处理逻辑,把采集与处理两端连起来看,完成一次从数据产生到落库的全链路代码追踪。


理解skywalking oap接收并处理agent端发送数据和处理数据的过程,并进行二次开发

课程目录

*   01 概述/

  *   01 课程大纲.mp4 (70.50 MB), 11:30

  *   02 版本选择.mp4 (19.87 MB), 04:26

  *   03 版本选择补充.mp4 (1.58 MB), 00:32

*   02 skywalking agent源码补充/

  *   01 agent端源码阅读补充之agent本地debug.mp4 (60.12 MB), 10:24

  *   02 agent端源码阅读补充之JVM的Metric信息收集.mp4 (115.83 MB), 19:26

  *   03 agent端源码阅读补充之Log数据的整理和发送.mp4 (195.05 MB), 30:33

  *   04 补充之链路追踪数据的收集与发送--EntrySpan的创建.mp4 (318.72 MB), 50:26

  *   05 补充之ExitSpan的创建与Span跨进程建立关联.mp4 (191.93 MB), 31:12

  *   06 agent端源码阅读补充之链路追踪数据收集和发送.mp4 (216.82 MB), 34:33

  *   07 agent端源码阅读补充之span跨线程的实现及源码分析.mp4 (141.57 MB), 22:39

  *   08 agent端源码阅读补充之mysql链路追踪信息收集的过程.mp4 (192.22 MB), 30:37

  *   09 agent端源码阅读补充之链路追踪的并发采样控制.mp4 (122.44 MB), 20:45

  *   10 agent端源码阅读补充之链路追踪手动忽略采样.mp4 (85.49 MB), 13:40

  *   11 agent端以gateway为例讲解plugin的集成流程.mp4 (59.76 MB), 09:38

*   03 skywalking oap源码阅读/

  *   01 oap源码下载及本地启动.mp4 (171.41 MB), 26:36

  *   02 oap启动过程之配置文件的加载.mp4 (216.98 MB), 34:33

  *   03 带着配置信息启动oap上.mp4 (202.54 MB), 32:33

  *   04 带着配置信息启动oap下.mp4 (185.44 MB), 30:50

  *   05 Metric指标分析之antlr4入门一.mp4 (243.71 MB), 43:43

  *   06 Metric指标分析之antlr4入门二.mp4 (54.93 MB), 09:41

  *   07 粗略的看下skywalking中是如何使用antlr4.mp4 (54.83 MB), 08:45

  *   08 什么是.oal文件,以core.oal文件为例看加载过程.mp4 (252.79 MB), 42:07

  *   09 OALListener创建AnalysisResult的过程详细解读上.mp4 (302.80 MB), 47:48

  *   10 OALListener创建AnalysisResult的过程详细解读下.mp4 (196.43 MB), 32:57

  *   11 使用AnalysisResult创建Metrics等相关类.mp4 (400.49 MB), 01:02:39

  *   12 对解析.oal文件生成Metrics、MetrcsBuilder、Dispatcher类的总结.mp4 (163.12 MB), 25:38

  *   13 系统中自带的Dispatcher类以及生成的Dispatcher类是如何被系统加载的.mp4 (213.71 MB), 34:45

  *   14 使用生成的Metrics类如何去创建数据表上.mp4 (375.40 MB), 58:24

  *   15 使用生成的Metrics类如何去创建数据表下.mp4 (35.88 MB), 06:13

  *   16 使用生成的Metrics类如何去创建L1、L2级聚合.mp4 (238.85 MB), 39:24

  *   17 L1级、L2级聚合如何配合工作的.mp4 (219.15 MB), 34:48

  *   18 分析GrpcRemoteClient把数据发送到远端,远端的接收过程.mp4 (39.84 MB), 06:21

  *   19 接收并分析链路追踪数据之启动GRPCServer和HTTPServer.mp4 (151.27 MB), 24:30

  *   20 接收并分析链路追踪数据之HTTPServer使用Armeria创建HTTPServer的过程解.mp4 (74.65 MB), 13:59

  *   21 打断点的方式确认oap端使用grpc接收tracesegment数据.mp4 (44.29 MB), 07:21

  *   22 oap端解析segment数据详细过程之 SegmentAnalysisListener一.mp4 (371.70 MB), 58:40

  *   23 oap端解析segment数据详细过程之 SegmentAnalysisListener二.mp4 (279.58 MB), 44:42

  *   24 oap端解析segment数据详细过程之 VirtualServiceAnalysisList.mp4 (270.08 MB), 43:58

  *   25 oap端解析segment数据详细过程之 NetworkAddressAliasMapping.mp4 (53.04 MB), 08:51

  *   26 oap端解析segment数据详细过程之 RPCAnalysisListener.mp4 (126.13 MB), 20:05

  *   27 oap端解析segment数据详细过程之 EndpointDepFromCrossThread.mp4 (7.24 MB), 01:28

  *   28 oap端接收log、JvmMetric信息概述.mp4 (10.57 MB), 01:43

*   04 skywalking oap二次开发/

  *   01 基于oap二次开发的场景和版本说明.mp4 (17.79 MB), 04:16

  *   02 二次开发需求分析.mp4 (30.86 MB), 04:59

  *   03 创建自定义的Module、ModuleProvider、ModuleConfig.mp4 (155.52 MB), 24:34

  *   04 自定义HttpHander接收数据.mp4 (93.20 MB), 14:30

  *   05 自定义包装数据的Source.mp4 (53.31 MB), 09:27

  *   06 自定义Listener上.mp4 (46.66 MB), 08:39

  *   07 自定义Listener下.mp4 (4.67 MB), 01:03

  *   08 自定义Analyzer.mp4 (55.44 MB), 09:24

  *   09 ModuleProvider集成好自定义的Listener、Source、Analyzer.mp4 (51.55 MB), 08:38

  *   10 自定义.oal文件并生成Dispatcher、Metrics.mp4 (113.45 MB), 18:15

  *   11 数据入库,验证数据的正确性.mp4 (33.42 MB), 06:34

  *   12 从存储中读取数据推荐使用graphql.mp4 (19.81 MB), 03:20