Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
7120e02
optimize BuildTree of ClassLoader -t
NoNPC0532 Jun 6, 2024
202d090
release 4.0.0
hengyunabc Aug 12, 2024
274374f
Update CONTRIBUTING.md
hengyunabc Aug 12, 2024
9b5b22c
Merge pull request #2845 from ZhaoGuorui666/optimize-buildtree
RaymondLam1 Sep 3, 2024
9079a0c
fix typo (#2894)
CC11001100 Sep 9, 2024
e126465
fix ognl command not invoke static method. #2892
hengyunabc Sep 10, 2024
ee6fca1
fix typo (#2762)
tubaobao3 Sep 10, 2024
ba4e1c7
feat: website supports switching to v3.x and add notice for not suppo…
siuhui Sep 13, 2024
bc7e6ec
upgrade bytekit to 0.1.3. #2897
hengyunabc Sep 14, 2024
f672ae8
release 4.0.1
hengyunabc Sep 14, 2024
ca2d062
update Dockerfile-No-Jdk
hengyunabc Sep 14, 2024
2b6d331
Upgrade async profiler to 3.0 (#2903)
NoNPC0532 Sep 18, 2024
66d6712
typo: ariable name and word error.
daguimu Sep 21, 2024
58237ce
fix http ERR_CONTENT_LENGTH_MISMATCH. #2916
hengyunabc Sep 25, 2024
8b53f62
upgrade netty to 4.1.113.Final. #2918
hengyunabc Sep 25, 2024
925cf17
update one.profiler
hengyunabc Sep 25, 2024
59b87ca
profiler command support --wall option(#2905)
NoNPC0532 Oct 4, 2024
c0e9380
Update spring-boot-starter.md,arthas-all-3.7.2版本后已经支持springboot3了 (#2…
qiuqiuqiu123 Oct 15, 2024
f5b509b
profiler command update Options and Documents (#2920)
NoNPC0532 Oct 17, 2024
fca248c
polish #2905
hengyunabc Oct 17, 2024
87a3153
update site/yarn.lock
hengyunabc Oct 17, 2024
74290ec
add native agent module (#2915)
flzj-kl Oct 23, 2024
a8f0f92
release 4.0.2
hengyunabc Oct 17, 2024
a983ef8
move native-agent to labs
hengyunabc Oct 23, 2024
02d28ad
move arthas-grpc-web-proxy to labs
hengyunabc Oct 23, 2024
2858f6e
add labs/README.md
hengyunabc Oct 23, 2024
8200afb
simplified gRPC impl using netty (#2914)
fengye404 Oct 28, 2024
6605b4a
Fixed 'PackageInternalsFinder.fuse' throws an exception when jar in …
noear Nov 13, 2024
a5fa6df
improve quit message. #2936
hengyunabc Nov 13, 2024
ba380bb
Revert "Improve token parsing and better support control operators su…
hengyunabc Nov 13, 2024
1911278
watch/trace support <init> completion. #2945
hengyunabc Nov 13, 2024
fd1cb27
fix project name
hengyunabc Nov 13, 2024
2a16ff1
release 4.0.3
hengyunabc Nov 13, 2024
4369b39
add update-doc workflow
hengyunabc Nov 14, 2024
baed344
Update CONTRIBUTING.md
hengyunabc Nov 14, 2024
6cee2d3
update web-ui/arthasWebConsole/yarn.lock
hengyunabc Nov 20, 2024
aa23a4a
downgrade ognl to 3.3.5. #2954, #2953
hengyunabc Nov 20, 2024
4e931cb
add OgnlTest. #2954
hengyunabc Nov 20, 2024
797baf5
upgrade termd to 1.1.7.14 and maven-shade-plugin to 3.6.0 (#2949)
wwulfric Nov 20, 2024
dec5c1c
release 4.0.4
hengyunabc Nov 20, 2024
e6e95df
add workflows/push-docker.yaml
hengyunabc Nov 20, 2024
9f6cc8e
Update CONTRIBUTING.md
hengyunabc Nov 20, 2024
375220c
support ognl strict. #2955
hengyunabc Nov 21, 2024
534b822
remove profiler collect action. fix loop NullPointerException #2961
hengyunabc Nov 26, 2024
8e4dd90
log profiler execute args
hengyunabc Nov 26, 2024
3bc5053
Prettified Code!
hengyunabc Nov 27, 2024
b266e1c
fix classLoader#getURLs() may throw NullPointerException. fix #2968
hengyunabc Dec 2, 2024
3307687
Fix grpc unittest (#2956)
fengye404 Jan 20, 2025
3144514
fix get main_class. #2990
hengyunabc Feb 14, 2025
091ce30
improve banner, support app_name, start_time. #2990
hengyunabc Feb 14, 2025
b35a25d
upgrade netty to 4.1.119.Final. fix #2986
hengyunabc Mar 11, 2025
03eb94c
add know user (#2993)
SZMOFEI Mar 11, 2025
b86f474
fix abortProcess concurrency problem. #2957
hengyunabc Mar 11, 2025
3e188e3
fix compare
hengyunabc Mar 11, 2025
1df7f6b
fix SpyImpl.atEnter ConcurrentModificationException. #2952
hengyunabc Mar 11, 2025
55bc0b2
improve profiler command output, doc, timeout. #2961
hengyunabc Mar 11, 2025
a354991
upgrade bytekit to 0.1.4
hengyunabc Mar 11, 2025
a723b0b
upgrade asm to 9.7.1
hengyunabc Mar 11, 2025
de7e18a
use async-profiler nightly version. #2997
hengyunabc Mar 11, 2025
f4899f0
release 4.0.5
hengyunabc Mar 11, 2025
4a21bd2
mvn -ntp: no transfer progress
hboutemy Mar 22, 2025
bde1136
drop duplicate dependency
hboutemy Mar 24, 2025
63ee8df
update Maven Wrapper: mvn wrapper:wrapper
hboutemy Mar 24, 2025
0d6c1a6
drop duplicate dependencies. fix #3004
hboutemy Mar 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 5 additions & 88 deletions .github/workflows/build-async-profiler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,26 +25,26 @@ jobs:
with:
distribution: "liberica"
java-version: "11"
# 从 async-profiler 源码编译出 libasyncProfiler-mac.so(兼容 arthas-core 中 ProfilerCommand.java 固定的 so 文件名称未使用 libasyncProfiler.dylib)
# 从 async-profiler 源码编译出 libasyncProfiler-mac.dylib(兼容 arthas-core 中 ProfilerCommand.java 固定的 so 文件名称未使用 libasyncProfiler.dylib)
# grep -m1 PROFILER_VERSION Makefile 用于输出 async-profiler 版本, 下同
- name: Execute compile inside macOS 12 environment
run: |
grep -m1 PROFILER_VERSION Makefile
echo "JAVA_HOME=${JAVA_HOME}"
java -version
echo "FAT_BINARY variable that make libasyncProfiler-mac.so works both on macOS x86-64 and arm64"
echo "FAT_BINARY variable that make libasyncProfiler-mac.dylib works both on macOS x86-64 and arm64"
make FAT_BINARY=true
LIB_PROFILER_PATH=$(find build -type f \( -name libasyncProfiler.so -o -name libasyncProfiler.dylib \) 2>/dev/null)
[ -z "${LIB_PROFILER_PATH}" ] && echo "Can not find libasyncProfiler.so or libasyncProfiler.dylib file under build directory." && exit 1
echo "LIB_PROFILER_PATH=${LIB_PROFILER_PATH}"
file ${LIB_PROFILER_PATH}
otool -L ${LIB_PROFILER_PATH}
cp ${LIB_PROFILER_PATH} libasyncProfiler-mac.so
# 暂存编译出来的 libasyncProfiler-mac.so 文件
cp ${LIB_PROFILER_PATH} libasyncProfiler-mac.dylib
# 暂存编译出来的 libasyncProfiler-mac.dylib 文件
- uses: actions/upload-artifact@v3
with:
name: async-profiler
path: libasyncProfiler-mac.so
path: libasyncProfiler-mac.dylib
if-no-files-found: error

build-generic-linux-x64:
Expand Down Expand Up @@ -143,89 +143,6 @@ jobs:
if-no-files-found: error


build-alpine-linux-x64:
runs-on: ubuntu-20.04
if: ${{ inputs.async-profiler-tag-name }}
steps:
# 检出 async-profiler/async-profiler 项目指定的 tag
- uses: actions/checkout@v3
with:
repository: async-profiler/async-profiler
fetch-depth: 0
- name: Checkout the async-profiler repository by input tag name ${{ inputs.async-profiler-tag-name }}
run: git checkout ${{ inputs.async-profiler-tag-name }}
- name: Setup Alpine Linux x86-64 environment
uses: jirutka/setup-alpine@v1
with:
arch: x86_64
branch: v3.15
shell-name: alpine-x86_64.sh
packages: >
build-base linux-headers openjdk11
# 从 async-profiler 源码编译出适用于 musl-based Linux 主机的 libasyncProfiler-linux-musl-x64.so
# grep -m1 PROFILER_VERSION Makefile 用于输出 async-profiler 版本, 下同
- name: Run script inside Alpine Linux x86-64 environment
run: |
grep -m1 PROFILER_VERSION Makefile
JAVA_HOME=/usr/lib/jvm/java-11-openjdk
java -version
which java
echo "Append -static-libgcc -static-libstdc++ options to CXXFLAGS for user no need to install libstdc++ and libgcc manually."
sed -i 's/CXXFLAGS=/CXXFLAGS=-static-libgcc -static-libstdc++ /' Makefile && make
LIB_PROFILER_PATH=$(find build -type f -name libasyncProfiler.so 2>/dev/null)
[ -z "${LIB_PROFILER_PATH}" ] && echo "Can not find libasyncProfiler.so file under build directory." && exit 1
echo "LIB_PROFILER_PATH=${LIB_PROFILER_PATH}"
file ${LIB_PROFILER_PATH}
ldd ${LIB_PROFILER_PATH}
cp ${LIB_PROFILER_PATH} libasyncProfiler-linux-musl-x64.so
shell: alpine-x86_64.sh {0}
- uses: actions/upload-artifact@v3
with:
name: async-profiler
path: libasyncProfiler-linux-musl-x64.so
if-no-files-found: error

build-alpine-linux-arm64:
runs-on: ubuntu-20.04
if: ${{ inputs.async-profiler-tag-name }}
steps:
# 检出 async-profiler/async-profiler 项目指定的 tag
- uses: actions/checkout@v3
with:
repository: async-profiler/async-profiler
fetch-depth: 0
- name: Checkout the async-profiler repository by input tag name ${{ inputs.async-profiler-tag-name }}
run: git checkout ${{ inputs.async-profiler-tag-name }}
- name: Setup Alpine Linux aarch64 environment
uses: jirutka/setup-alpine@v1
with:
arch: aarch64
branch: v3.15
shell-name: alpine-aarch64.sh
packages: >
build-base linux-headers openjdk11
# 从 async-profiler 源码编译出适用于 musl-based Linux 主机的 libasyncProfiler-linux-musl-arm64.so
# grep -m1 PROFILER_VERSION Makefile 用于输出 async-profiler 版本, 下同
- name: Run script inside Alpine Linux aarch64 environment
run: |
grep -m1 PROFILER_VERSION Makefile
JAVA_HOME=/usr/lib/jvm/java-11-openjdk
java -version
which java
echo "Append -static-libgcc -static-libstdc++ options to CXXFLAGS for user no need to install libstdc++ and libgcc manually."
sed -i 's/CXXFLAGS=/CXXFLAGS=-static-libgcc -static-libstdc++ /' Makefile && make
LIB_PROFILER_PATH=$(find build -type f -name libasyncProfiler.so 2>/dev/null)
[ -z "${LIB_PROFILER_PATH}" ] && echo "Can not find libasyncProfiler.so file under build directory." && exit 1
echo "LIB_PROFILER_PATH=${LIB_PROFILER_PATH}"
file ${LIB_PROFILER_PATH}
ldd ${LIB_PROFILER_PATH}
cp ${LIB_PROFILER_PATH} libasyncProfiler-linux-musl-arm64.so
shell: alpine-aarch64.sh {0}
- uses: actions/upload-artifact@v3
with:
name: async-profiler
path: libasyncProfiler-linux-musl-arm64.so
if-no-files-found: error

upload-libasyncProfiler-files:
runs-on: ubuntu-20.04
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/build-vmtool.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
java-version: '8'
distribution: 'adopt'
- name: Build with Maven
run: ./mvnw package
run: ./mvnw -V -ntp package
- uses: actions/upload-artifact@v3
with:
name: lib
Expand All @@ -30,7 +30,7 @@ jobs:
java-version: '8'
distribution: 'adopt'
- name: Build with Maven
run: ./mvnw package
run: ./mvnw -V -ntp package
- uses: actions/upload-artifact@v3
with:
name: lib
Expand All @@ -46,7 +46,7 @@ jobs:
java-version: '8'
distribution: 'adopt'
- name: Build with Maven
run: ./mvnw package
run: ./mvnw -V -ntp package
- uses: actions/upload-artifact@v3
with:
name: lib
Expand All @@ -73,7 +73,7 @@ jobs:

run: |
apt update && apt install openjdk-8-jdk g++ -y
./mvnw package -pl common,arthas-vmtool
./mvnw -V -ntp package -pl common,arthas-vmtool
cp arthas-vmtool/target/libArthas* lib/
- uses: actions/upload-artifact@v3
with:
Expand Down
34 changes: 34 additions & 0 deletions .github/workflows/push-docker.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Push arthas images to Docker Hub

on:
workflow_dispatch:
inputs:
version:
description: "The version number to push (e.g., 4.0.3)"
required: true

jobs:
build-and-push:
runs-on: ubuntu-latest

steps:
# 步骤 1:检出 master 分支的代码
- name: Checkout gh-pages branch
uses: actions/checkout@v3
with:
ref: master

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Build Docker image
run: |
VERSION="${{ github.event.inputs.version }}"
docker buildx build . --build-arg ARTHAS_VERSION=$VERSION --build-arg MIRROR=true -t hengyunabc/arthas:$VERSION -t hengyunabc/arthas:latest --platform=linux/arm64,linux/amd64 --push
docker buildx build . --build-arg ARTHAS_VERSION=$VERSION --build-arg MIRROR=true -f Dockerfile-No-Jdk -t hengyunabc/arthas:$VERSION-no-jdk --platform=linux/arm64,linux/amd64 --push
2 changes: 1 addition & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
java-version: '8'
distribution: 'adopt'
- name: Build with Maven
run: mvn clean package -P full
run: mvn -V -ntp clean package -P full

- name: Release
uses: softprops/action-gh-release@v1
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
distribution: 'zulu'
cache: 'maven'
- name: Build with Maven
run: mvn clean install -P full
run: mvn -V -ntp clean install -P full

windows_build:
runs-on: windows-2019
Expand All @@ -33,7 +33,7 @@ jobs:
distribution: 'zulu'
cache: 'maven'
- name: Build with Maven
run: mvn clean install -P full
run: mvn -V -ntp clean install -P full

macos_build:
runs-on: ${{ matrix.os }}
Expand All @@ -52,4 +52,4 @@ jobs:
distribution: 'zulu'
cache: 'maven'
- name: Build with Maven
run: mvn clean install -P full
run: mvn -V -ntp clean install -P full
80 changes: 80 additions & 0 deletions .github/workflows/update-doc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: Update docs on gh-pages

on:
workflow_dispatch:
inputs:
version:
description: "The version number to download and update (e.g., 4.0.3)"
required: true

jobs:
update-assets:
runs-on: ubuntu-latest

steps:
# 步骤 1:检出 gh-pages 分支的代码
- name: Checkout gh-pages branch
uses: actions/checkout@v3
with:
ref: gh-pages

# 步骤 2:下载指定版本的文档 ZIP 文件到 /tmp 目录
- name: Download documentation ZIP file
run: |
VERSION="${{ github.event.inputs.version }}"
DOC_DOWNLOAD_URL="https://repo1.maven.org/maven2/com/taobao/arthas/arthas-packaging/${VERSION}/arthas-packaging-${VERSION}-doc.zip"
echo "Downloading documentation from $DOC_DOWNLOAD_URL"
curl -L "$DOC_DOWNLOAD_URL" -o "/tmp/arthas-doc.zip"

# 步骤 3:解压文档 ZIP 文件
- name: Unzip documentation file
run: |
unzip -o /tmp/arthas-doc.zip -d /tmp/arthas-doc

# 步骤 4:删除仓库中的 assets 目录
- name: Remove assets directory
run: |
rm -rf assets

# 步骤 5:复制解压后的文档文件到仓库
- name: Copy documentation files to repository
run: |
cp -r /tmp/arthas-doc/* ./

# 步骤 6:下载指定版本的二进制 ZIP 文件到 /tmp 目录
- name: Download binary ZIP file
run: |
VERSION="${{ github.event.inputs.version }}"
BIN_DOWNLOAD_URL="https://repo1.maven.org/maven2/com/taobao/arthas/arthas-packaging/${VERSION}/arthas-packaging-${VERSION}-bin.zip"
echo "Downloading binary files from $BIN_DOWNLOAD_URL"
curl -L "$BIN_DOWNLOAD_URL" -o "/tmp/arthas-bin.zip"

# 步骤 7:解压二进制 ZIP 文件
- name: Unzip binary file
run: |
unzip -o /tmp/arthas-bin.zip -d /tmp/arthas-bin

# 步骤 8:复制指定文件到仓库目录
- name: Copy binary files to repository
run: |
cp /tmp/arthas-bin/as.sh ./
cp /tmp/arthas-bin/arthas-boot.jar ./
cp /tmp/arthas-bin/math-game.jar ./

# 步骤 9:赋予 as.sh 可执行权限
- name: Make as.sh executable
run: |
chmod +x as.sh

# 步骤 10:设置 Git 用户信息
- name: Set Git user
run: |
git config user.name "${{ github.actor }}"
git config user.email "${{ github.actor }}@users.noreply.github.com"

# 步骤 11:提交并推送更改到远程仓库
- name: Commit and push changes
run: |
git add .
git commit -m "Update docs to version ${{ github.event.inputs.version }}"
git push origin gh-pages
Loading
Loading