源码分析-skywalking源码环境搭建

0x00 阅读源代码

长达9天的断网终于结束了。

下载源代码

  • 代码仓库地址 https://gitee.com/Z201/skywalking.git
  • 阅读版本号 v6.0.0-GA
  • 下载版本git clone -b v6.0.0-GA https://github.com/apache/skywalking.git
    • 由于github下载速度是在太慢了,这里用gitee克隆一个镜像。
    • 下载版本git clone -b v6.0.0-GA https://gitee.com/Z201/skywalking.git

查看源代码结构

源码设计子项目过多,这里简单暂时2级目录。

1
2
3
4
5
6
7
tree -d L 2
.
├── src
│ ├── main # 源代码
│ ├── site # 站点稳当
│ └── test # 单元测试
└── travis # 官方的ci集成
  • 查看项目源码主目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
➜  skywalking git:(8b638258b) tree -d -L 1
.
├── apm-application-toolkit
├── apm-checkstyle
├── apm-commons
├── apm-dist
├── apm-protocol # pd文件
├── apm-sniffer # 插件
├── apm-webapp
├── docker
├── docs
├── licenses
├── oap-server # 这里和5.x 有很大的不同改动了很多东西。
├── skywalking-ui
└── tools
  • 将项目导入idea中。

官方文档:如何构建

git submodule init

git submodule update

1
2
3
4
5
6
7
8
9
10
11
➜  skywalking git:(8b638258b) git submodule init
Submodule 'apm-protocol/apm-network/src/main/proto' (https://github.com/apache/incubator-skywalking-data-collect-protocol.git) registered for path 'apm-protocol/apm-network/src/main/proto'
Submodule 'oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol' (https://github.com/apache/incubator-skywalking-query-protocol.git) registered for path 'oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol'
Submodule 'skywalking-ui' (https://github.com/apache/incubator-skywalking-ui) registered for path 'skywalking-ui'
➜ skywalking git:(8b638258b) git submodule update
Cloning into '/Users/zengqingfeng/word/source-code/skywalking/apm-protocol/apm-network/src/main/proto'...
Cloning into '/Users/zengqingfeng/word/source-code/skywalking/oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol'...
Cloning into '/Users/zengqingfeng/word/source-code/skywalking/skywalking-ui'...
Submodule path 'apm-protocol/apm-network/src/main/proto': checked out 'b66fa070fd647662f06497e4ed3657eb258cb6e9'
Submodule path 'oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol': checked out 'c65a23bd6b9bba8d1df30d4de261624952df2b7b'
Submodule path 'skywalking-ui': checked out 'c44642f73b9f73a54b0d716cade5094304e1a67b'

clean package -DskipTests

这个时候慢慢等吧v6.0.0-GA有120个子项目。更新完之后导入IDEA就好了。

END