1. 程式人生 > >視訊 | 如何構建鏈路追蹤 SkyWalking 5.x 的原始碼並執行

視訊 | 如何構建鏈路追蹤 SkyWalking 5.x 的原始碼並執行

點選上方“芋道原始碼”,選擇“置頂公眾號”

技術文章第一時間送達!

原始碼精品專欄

 

來源:https://github.com/JaredTan95/skywalking-tutorials

參考:原始碼地址從GitHub下載程式碼編譯在IntelliJ IDEA中編譯工程Elasticsearch 啟動:Skywalking 相關配置說明

視訊地址

參考:

  • 官方編譯指南

  • 芋道原始碼

  • JaredTan95

原始碼地址

https://github.com/apache/incubator-skywalking.git

從GitHub下載程式碼編譯

在IntelliJ IDEA中編譯工程

  • 準備環境: git, jdk8,Maven

  • git clone https://github.com/apache/incubator-skywalking.git

  • cd incubator-skywalking/

  • git checkout -b 5.x

  • git submodule init

  • git submodule update

  • mvn clean package -DskipTests

  • /incubator-skywalking/apm-protocol/apm-network/target/generated-sources/protobuf目錄下面grpc-javajava目錄右鍵設定為Generated Rources Root.

  • apm-collector/apm-collector-remote/apm-remote-grpc-provider/target/generated-sources/protobuf

    目錄下面grpc-javajava目錄右鍵設定為Generated Rources Root.

Elasticsearch 啟動:

https://github.com/JaredTan95/skywalking-docker/blob/master/elasticsearch-5.6.10-Zone-Asia-SH/README.md

Skywalking 相關配置說明

#cluster:
#  zookeeper:
#    hostPort: localhost:2181,localhost:2182 #zookeeper叢集地址
#    sessionTimeout: 100000
configuration:
  default
:
    #namespace: xxxxx
    # alarm threshold
    applicationApdexThreshold: 2000 #應用效能指數閥值,Apdex含義請參考如下
    serviceErrorRateThreshold: 10.00 #服務錯誤率閥值
    serviceAverageResponseTimeThreshold: 2000 #服務平均響應時間閥值
    instanceErrorRateThreshold: 10.00 #例項錯誤率閥值
    instanceAverageResponseTimeThreshold: 2000 #例項平均響應時間閥值
    applicationErrorRateThreshold: 10.00 #應用錯誤率閥值
    applicationAverageResponseTimeThreshold: 2000 #應用平均響應時間閥值
    # thermodynamic
    thermodynamicResponseTimeStep: 50 #熱力圖響應時間
    thermodynamicCountOfResponseTimeSteps: 40 #熱力圖的響應時間步長數量
    # max collection's size of worker cache collection, setting it smaller when collector OutOfMemory crashed.
    workerCacheMaxSize: 10000 #最大工作快取數量

# Apdex
# 效能指數:
# Apdex(Application Performance Index)是一個國際通用標準,
# Apdex 是使用者對應用效能滿意度的量化值。它提供了一個統一的測量和報告使用者體驗的方法,
# 把終端使用者的體驗和應用效能作為一個完整的指標進行統一度量。
# 如何計算 Apdex:基於“響應性”,Apdex 定義了 3 個使用者滿意度區間( OneAPM 預設定義的 T 值為 0.5 秒):
# 滿意:這樣的響應時間讓使用者感到很愉快,響應時間少於 T 秒鐘。
# 容忍:慢了一點,但還可以接受,繼續這一應用過程,響應時間 T~4T 秒。
# 失望:太慢了,受不了了,使用者決定放棄這個應用,響應時間超過 4T 秒。
storage:
  elasticsearch:
    clusterName: elasticsearch  #Elasticsearch叢集名稱,預設為elasticsearch
    clusterTransportSniffer: false
    clusterNodes: localhost:9300 #Elasticsearch連線,預設localhost:9300
    indexShardsNumber: 2
    indexReplicasNumber: 0
    highPerformanceMode: true
    # Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html
    bulkActions: 2000 # Execute the bulk every 2000 requests
    bulkSize: 20 # flush the bulk every 20mb
    flushInterval: 10 # flush the bulk every 10 seconds whatever the number of requests
    concurrentRequests: 2 # the number of concurrent requests
    # Set a timeout on metric data. After the timeout has expired, the metric data will automatically be deleted.
    traceDataTTL: 90 #追蹤資料滾動刪除週期,預設90分鐘
    minuteMetricDataTTL: 90 #分鐘監控資料滾動刪除週期,預設90分鐘
    hourMetricDataTTL: 36 #小時監控資料滾動刪除週期,預設36小時
    dayMetricDataTTL: 45 #天監控資料滾動刪除週期,預設45天
    monthMetricDataTTL: 18 #月監控資料滾動刪除週期,預設18個月

歡迎加入我的知識星球,一起探討架構,交流原始碼。加入方式,長按下方二維碼噢

640?

已在知識星球更新原始碼解析如下:

  • 《精盡 Dubbo 原始碼解析系列》69 篇。

  • 《精盡 Netty 原始碼解析系列》61 篇。

  • 《精盡 Spring 原始碼解析系列》35 篇。

  • 《精盡 MyBatis 原始碼解析系列》34 篇。

  • 《資料庫實體設計》17 篇。

  • 正在準備更新《精盡 Spring MVC 原始碼解析系列》

目前在知識星球更新了《Dubbo 原始碼解析》目錄如下:

01. 除錯環境搭建
02. 專案結構一覽
03. 配置 Configuration
04. 核心流程一覽

05. 拓展機制 SPI

06. 執行緒池

07. 服務暴露 Export

08. 服務引用 Refer

09. 註冊中心 Registry

10. 動態編譯 Compile

11. 動態代理 Proxy

12. 服務呼叫 Invoke

13. 呼叫特性 

14. 過濾器 Filter

15. NIO 伺服器

16. P2P 伺服器

17. HTTP 伺服器

18. 序列化 Serialization

19. 叢集容錯 Cluster

20. 優雅停機

21. 日誌適配

22. 狀態檢查

23. 監控中心 Monitor

24. 管理中心 Admin

25. 運維命令 QOS

26. 鏈路追蹤 Tracing

... 一共 69+ 篇

目前在知識星球更新了《Netty 原始碼解析》目錄如下:

01. 除錯環境搭建
02. NIO 基礎
03. Netty 簡介
04. 啟動 Bootstrap

05. 事件輪詢 EventLoop

06. 通道管道 ChannelPipeline

07. 通道 Channel

08. 位元組緩衝區 ByteBuf

09. 通道處理器 ChannelHandler

10. 編解碼 Codec

11. 工具類 Util

... 一共 61+ 篇

目前在知識星球更新了《資料庫實體設計》目錄如下:

01. 商品模組
02. 交易模組
03. 營銷模組
04. 公用模組

... 一共 17+ 篇

目前在知識星球更新了《Spring 原始碼解析》目錄如下:

01. 除錯環境搭建
02. IoC Resource 定位
03. IoC BeanDefinition 載入

04. IoC BeanDefinition 註冊

05. IoC Bean 獲取

06. IoC Bean 生命週期

... 一共 35+ 篇

目前在知識星球更新了《MyBatis 原始碼解析》目錄如下:

01. 除錯環境搭建
02. 專案結構一覽
03. MyBatis 面試題合集

04. MyBatis 學習資料合集

05. MyBatis 初始化

06. SQL 初始化

07. SQL 執行

08. 外掛體系

09. Spring 整合

... 一共 34+ 篇

原始碼不易↓↓↓

點贊支援老艿艿↓↓