視訊 | 如何構建鏈路追蹤 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-java
和java
目錄右鍵設定為Generated Rources Root
.將
apm-collector/apm-collector-remote/apm-remote-grpc-provider/target/generated-sources/protobuf
grpc-java
和java
目錄右鍵設定為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個月
歡迎加入我的知識星球,一起探討架構,交流原始碼。加入方式,長按下方二維碼噢:
已在知識星球更新原始碼解析如下:
《精盡 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+ 篇
原始碼不易↓↓↓↓↓
點贊支援老艿艿↓↓