SkyWalking調試環境搭建


概述

上一篇文章,主要講述了如何在window上搭建SkyWalking。當然作為一個有理想的程序員🐶,不僅要用,而且還想看看源碼,說不定還能貢獻個代碼,因此搭建個調試環境那將十分必要的。因此本篇文章,將會從克隆源碼開始到調試整個過程,分階段來進行詳細講解SkyWalking編譯環境的搭建。

1.依賴工具

工欲善其事必先利其器,因此在構建之前需要說明一些需要的工具:

  • JDK 8:官方提倡
  • Maven3
  • Git
  • npm
  • IDEA:官方推薦使用IDEA來進行搭建,雖然說也給了eclipse的說明。但關於eclipse的搭建說明已經好多年沒有更新該部分內容了。

2. 下載源碼

執行如下命令從gihub倉庫上拉去源碼:

git clone --recurse-submodules https://github.com/apache/skywalking.git
cd skywalking/
./mvnw clean package -DskipTests

或

git clone https://github.com/apache/skywalking.git
cd skywalking/
git submodule init
git submodule update
./mvnw clean package -DskipTests

文件比較大可能需要費點時間,在拉取完畢后導入IDEA會自動使用Maven構建工具進行構建,可能又要持續一段時間,請耐心等待😄

3. 編譯源碼

  1. 打開IDEA Terminal執行Maven編譯命令:
 ./mvnw compile -Dmaven.test.skip=true

執行完成之后,會生成許多源碼文件,因此我們需要將文件所在目錄設置為源碼目錄,便於IDEA在編譯時進行識別。

image-20200604190214826

  1. 設置源碼目錄

分別將下邊5個目錄設置為源碼目錄

  • apm-protocol/apm-network/target/generated-sources/protobuf
  • oap-server/server-core/target/generated-sources/protobuf
  • oap-server/server-receiver-plugin/receiver-proto/target/generated-sources/protobuf
  • oap-server/exporter/target/generated-sources/protobuf
  • oap-server/server-configuration/grpc-configuration-sync/target/generated-sources/protobuf
  • oap-server/oal-grammar/target/generated-sources

設置方法如下(以apm-protocol/apm-network/target/generated-sources/protobuf為例):

在IDEA上找到該目錄-->右鍵-->Mark Directory as-->Generated Source Root

image-20200604191456610

設置后對應目錄編程藍色,則表明設置成功。

image-20200604191613601

4.啟動OAP Server

運行OAP-serverorg.apache.skywalking.oap.server.starter.OAPServerStartUp#main(args)方法,啟動SkyWalking OAP Server。

啟動后出現控制台打印如下內容,證明啟動成功。

image-20200604192111417

初次編譯時,時間很長,請耐心等待。(我電腦當時第一次編譯差不多用了將近8分鍾)。

5.啟動SkyWalking UI

  1. 運行 apm-webapporg.apache.skywalking.apm.webapp.ApplicationStartUp#main(args) 方法,啟動 SkyWalking UI 。
  2. 瀏覽器打開 http://127.0.0.1:8080,出現如下界面
    image-20200604192512037

后記

在搭建過程中遇到的問題:

Could not extract the Node archive: Could not extract archive

找到報錯的壓縮包刪除之后,重新進行構建

Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3. 1

對應位置編碼不符合maven的編碼規范。我當時報錯的文件是gRPC產生的因此我將其刪除后,重新構建,然后就成功了。

參考

https://github.com/apache/skywalking/blob/master/docs/en/guides/How-to-build.md


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM