Operations 6 min read

Skip the Arthas CLI: Get Java Online Diagnosis in 5 Minutes with an Open‑Source GUI

Arthas Eyes packages Alibaba’s Arthas into a browser‑based GUI, using a Python FastAPI backend and a Vue 3 front‑end, allowing developers to attach to local or remote Java processes, visualize memory, GC, threads, trace calls, view flame graphs, and perform diagnostics within five minutes without memorizing CLI commands.

xkx's Tech General Store
xkx's Tech General Store
xkx's Tech General Store
Skip the Arthas CLI: Get Java Online Diagnosis in 5 Minutes with an Open‑Source GUI

Arthas Eyes – browser‑based GUI for Arthas

Arthas Eyes wraps Alibaba’s open‑source Arthas diagnostic tool in a web interface. A local Python 3.11 backend communicates with Arthas via its HTTP API, while the front‑end built with Vue 3, Vite, Naive UI, ECharts and Pinia provides visual panels for selecting a Java process and executing diagnostics.

Local diagnosis features

Process management – automatic scanning of local Java processes and one‑click attach.

Dashboard – real‑time display of memory, GC and thread information.

Invocation tracing – watch variables, trace call chains, stack inspection.

Method monitoring – automatic statistics of call count, success rate and response time.

Time Tunnel (TT) – record method calls and replay them.

Performance analysis – CPU and memory flame graphs rendered in the browser.

Class/Method view – Jad decompilation, class search (SC) and method search (SM).

Remote diagnosis (Tunnel mode)

In production environments where direct SSH access is unavailable, Arthas Eyes can connect to an Arthas Tunnel Server. The server proxies WebSocket connections to remote agents, allowing local GUI operations to affect remote JVMs.

Technical architecture

Front‑end: Vue 3 + Vite + Naive UI + ECharts + Pinia.

Back‑end: Python 3.11 + FastAPI + HTTPx + WebSockets.

Diagnosis engine: Arthas HTTP API for local communication; Arthas Tunnel WebSocket for remote communication.

The backend exposes HTTP endpoints via FastAPI, invokes the Arthas HTTP API with HTTPx, and forwards Tunnel protocol messages over WebSockets. Local communication uses Arthas’s HTTP interface; remote communication passes through the Tunnel Server’s WebSocket proxy, where the backend parses the protocol and structures results.

Quick start (≈5 minutes)

Prepare the environment: Python 3.11+, Node.js 18+, Java 8+ (target process).

cd backend
python -m venv venv
source venv/bin/activate   # Windows: venv\Scripts\activate
pip install -r requirements.txt
python run.py   # defaults to http://0.0.0.0:8000

Start the front‑end:

cd frontend
npm install
npm run dev   # defaults to http://localhost:5173

Open the browser at http://localhost:5173, select a Java process, and begin diagnosis. The project bundles arthas-boot.jar and arthas-tunnel-server-4.2.2-fatjar.jar, so no separate downloads are required.

Remote diagnosis workflow

Start the Tunnel Server:

java -jar arthas/arthas-tunnel-server-4.2.2-fatjar.jar

Register the agent on the target machine:

java -jar arthas-boot.jar \
  --tunnel-server ws://tunnel-server-ip:7777/ws \
  --app-name your-app

Configure the Tunnel address in the GUI; remote diagnosis becomes immediately available.

Key advantages

Lower entry barrier – diagnostics are performed with mouse clicks instead of memorizing Arthas commands.

Integrated visualizations – call graphs, method statistics and flame graphs are available in the browser.

Support for both local and remote JVMs via Tunnel mode.

Open‑source codebase (Python and Vue) is clear and extensible.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

JavaGUIObservabilityVuediagnosticsFastAPIArthas
xkx's Tech General Store
Written by

xkx's Tech General Store

Code with the left hand, enjoy with the right; a keystroke sweeps away worries.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.