Skip to content

Argus 0.5.0

Choose a tag to compare

@rlaope rlaope released this 21 Mar 08:43
· 180 commits to master since this release

Argus 0.5.0 β€” Unified CLI Diagnostic Tool

New: argus CLI with JVM diagnostics (no agent required)

Argus CLI is now a full-featured JVM diagnostic tool. Diagnose any running JVM process directly via jcmd/jstat β€” no Argus agent needed.

Commands

Command Description
argus init First-time setup (language selection)
argus ps List running JVM processes
argus histo <pid> Heap object histogram
argus threads <pid> Thread dump summary
argus gc <pid> GC statistics
argus gcutil <pid> GC generation utilization (jstat-style)
argus heap <pid> Heap memory with detailed metrics
argus info <pid> JVM information and flags
argus top Real-time monitoring (agent required)

Key Features

  • Auto source detection: Uses Argus agent (HTTP) when available, JDK tools (jcmd) as fallback. Override with --source=agent|jdk
  • Multi-language: English, Korean, Japanese, Chinese (--lang=en|ko|ja|zh)
  • Rich terminal output: Box-drawing, color-coded progress bars, dynamic terminal width
  • Human-readable class names: [B β†’ byte[], HashMap$Node β†’ HashMap.Node
  • JSON export: --format=json for scripting and pipelines
  • Argus branded headers: Each command shows a description explaining what the metrics mean
  • Watch mode: argus gcutil <pid> --watch 2 for continuous monitoring
  • --help / --version: Standard CLI flags

Improvements

  • Smart Java 21 auto-detection in install script (jenv, JAVA_HOME, java_home, PATH scan)
  • Shared rendering utilities (escapeJson, truncate, ANSI-aware box alignment)
  • Cached provider availability checks for faster startup
  • Fixed JcmdExecutor potential deadlock (redirectErrorStream)

Install

curl -fsSL https://raw.githubusercontent.com/rlaope/argus/master/install.sh | bash

Quick Start

argus ps                       # List JVM processes
argus histo 12345 --top 20     # Heap histogram
argus gcutil 12345             # GC utilization
argus --lang=ko heap 12345     # Korean output
argus gc 12345 --format=json   # JSON for scripts

Full Changelog: v0.4.0...v0.5.0