<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Apache SkyWalking – Course</title>
    <link>/zh_tags/course/</link>
    <description>Recent content in Course on Apache SkyWalking</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Fri, 25 Mar 2022 00:00:00 +0000</lastBuildDate>
    
	  <atom:link href="/zh_tags/course/feed.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Zh: [视频] SkyWalking 8.7.0 源码分析</title>
      <link>/zh/2022-03-25-skywalking-source-code-analyzation/</link>
      <pubDate>Fri, 25 Mar 2022 00:00:00 +0000</pubDate>
      <guid>/zh/2022-03-25-skywalking-source-code-analyzation/</guid>
      <description>
        
        
        &lt;p&gt;如果要讨论提高自己系统设计能力的方式，我想大多数人都会选择去阅读优秀开源项目的源代码。近年来我参与了多个监控服务的开发工作，并在工作中大量地使用了 SkyWalking 并对其进行二次开发。在这个过程中，我发现 SkyWalking 天然的因其国产的身份，整套源代码地组织和设计非常符合国人的编程思维。由此我录制了本套课程，旨在和大家分享我的一些浅薄的心得和体会。&lt;/p&gt;
&lt;p&gt;本套课程分为两个阶段，分别讲解 Agent 端和 OAP 端地设计和实现。每个阶段的内容都是以启动流程作为讲解主线，逐步展开相关的功能模块。除了对 SKyWalking 本身内容进行讲解，课程还针对 SKyWalking 使用到的一些较为生僻的知识点进行了补充讲解（如 synthetic、NBAC 机制、自定义类加载器等），以便于大家更清晰地掌握课程内容。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.bilibili.com/video/BV1dy4y1V7ck/&#34;&gt;SkyWalking8.7.0 源码分析 - 视频课程直达链接&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;目前课程已更新完 Agent 端的讲解，目录如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;01-开篇和源码环境准备&lt;/li&gt;
&lt;li&gt;02-Agent 启动流程&lt;/li&gt;
&lt;li&gt;03-Agent 配置加载流程&lt;/li&gt;
&lt;li&gt;04-自定义类加载器 AgentClassLoader&lt;/li&gt;
&lt;li&gt;05-插件定义体系&lt;/li&gt;
&lt;li&gt;07-插件加载&lt;/li&gt;
&lt;li&gt;06-定制 Agent&lt;/li&gt;
&lt;li&gt;08-什么是 synthetic&lt;/li&gt;
&lt;li&gt;09-NBAC 机制&lt;/li&gt;
&lt;li&gt;10-服务加载&lt;/li&gt;
&lt;li&gt;11-witness 组件版本识别&lt;/li&gt;
&lt;li&gt;12-Transform 工作流程&lt;/li&gt;
&lt;li&gt;13-静态方法插桩&lt;/li&gt;
&lt;li&gt;14-构造器和实例方法插桩&lt;/li&gt;
&lt;li&gt;15-插件拦截器加载流程(非常重要)&lt;/li&gt;
&lt;li&gt;16-运行时插件效果的字节码讲解&lt;/li&gt;
&lt;li&gt;17-JDK 类库插件工作原理&lt;/li&gt;
&lt;li&gt;18-服务-GRPCChanelService&lt;/li&gt;
&lt;li&gt;19-服务-ServiceManagementClient&lt;/li&gt;
&lt;li&gt;20-服务-CommandService&lt;/li&gt;
&lt;li&gt;21-服务-SamplingService&lt;/li&gt;
&lt;li&gt;22-服务-JVMService&lt;/li&gt;
&lt;li&gt;23-服务-KafkaXxxService&lt;/li&gt;
&lt;li&gt;24-服务-StatusCheckService&lt;/li&gt;
&lt;li&gt;25-链路基础知识&lt;/li&gt;
&lt;li&gt;26-链路 ID 生成&lt;/li&gt;
&lt;li&gt;27-TraceSegment&lt;/li&gt;
&lt;li&gt;28-Span 基本概念&lt;/li&gt;
&lt;li&gt;29-Span 完整模型&lt;/li&gt;
&lt;li&gt;30-StackBasedTracingSpan&lt;/li&gt;
&lt;li&gt;31-ExitSpan 和 LocalSpan&lt;/li&gt;
&lt;li&gt;32-链路追踪上下文 TracerContext&lt;/li&gt;
&lt;li&gt;33-上下文适配器 ContextManager&lt;/li&gt;
&lt;li&gt;34-DataCarrier-Buffer&lt;/li&gt;
&lt;li&gt;35-DataCarrier-全解&lt;/li&gt;
&lt;li&gt;36-链路数据发送到 OAP&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;https://www.bilibili.com/video/BV1dy4y1V7ck&#34;&gt;B站视频地址&lt;/a&gt;&lt;/p&gt;

      </description>
    </item>
    
  </channel>
</rss>
