arthas/CONTRIBUTING.md
2024-08-12 20:01:54 +08:00

6.5 KiB
Raw Blame History

Issue

Welcome to use issue tracker to give us :bowtie::

  • feedbacks - what you would like to have;
  • usage tips - what usages you have found splendid;
  • experiences - how you use Arthas to do effective troubleshooting;

Documentation

  • Under site/docs/.

Online Tutorials

Please refer to README.MD at killercoda branch

Developer

Local Installation

Note: After modifying arthas-vmtool related codes, the packaging results need to be manually copied to the lib/ path of this repo, and will not be copied automatically.

Recommend to use as-package.sh to package, which will auto-install the latest Arthas to local ~/.arthas and when debugging, Arthas will auto-load the latest version.

  • To support jni, cpp compiling environment support is required
  • mac needs to install xcode
  • windows need to install gcc

F.Y.I

  1. when using as.sh to start Arthas, it will get the latest version under ~/.arthas/lib;
  2. when as-package.sh packaging, it will get the version from pom.xml and suffix it with the current timestamp e.g. 3.0.5.20180917161808.

You can also use ./mvnw clean package -DskipTests to package and generate a zip under packaging/target/ but remember when as.sh starts, it load the version under ~/.arthas/lib.

Start Arthas in specified version

When there are several different version, you can use --use-version to specify the version of Arthas to start your debug.

./as.sh --use-version 3.0.5.20180919185025

Tip: you can use --versions to list all available versions.

./as.sh --versions

Debug

Packaging All

  • when packaging the whole project (Packaging All), you need to execute:

    ./mvnw clean package -DskipTests -P full
    

Issue

欢迎在issue里对arthas做反馈分享使用技巧排查问题的经历。

改进用户文档

用户文档在site/docs/目录下如果希望改进arthas用户文档欢迎提交PR。

改进在线教程

请参考killercoda 分支下的说明

开发者相关

安装到本地

注意: 修改arthas-vmtool相关代码后,打包结果需要手动复制到本仓库的 lib/ 路径下,不会自动复制。

本地开发时,推荐执行as-package.sh来打包会自动安装最新版本的arthas到~/.arthas目录里。debug时会自动使用最新版本。

  • 代码里要编译jni需要cpp编译环境支持
  • mac需要安装xcode
  • windows需要安装gcc

as.sh在启动时,会对~/.arthas/lib下面的目录排序,取最新的版本。as-package.sh在打包时,会取pom.xml里的版本号,再拼接上当前时间,比如: 3.0.5.20180917161808,这样子排序时取的就是最新的版本。

也可以直接 ./mvnw clean package -DskipTests打包生成的zip在 packaging/target/ 下面。但是注意as.sh启动加载的是~/.arthas/lib下面的版本。

启动指定版本的arthas

本地开发时,可能会产生多个版本,可以用 --use-version 参数来指定版本,比如

./as.sh --use-version 3.0.5.20180919185025

可以用--versions参数来列出所有版本:

./as.sh --versions

Debug

全量打包

  • 全量打包时,需要配置下面的参数:

    ./mvnw clean package -DskipTests -P full
    

Release Steps

发布release版本流程