SkyWalking 调试环境搭建

本贴最后更新于 1631 天前,其中的信息可能已经斗转星移

概述

上一篇文章,主要讲述了如何在 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,出现如下界面
  3. 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

  • SkyWalking
    17 引用 • 10 回帖
  • 工具

    子曰:“工欲善其事,必先利其器。”

    286 引用 • 729 回帖
  • 教程
    143 引用 • 602 回帖 • 8 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...