Skip to content

feat: native-image CLI build with GraalVM #136

@rlaope

Description

@rlaope

Priority: P2

Perspective: Kotlin / GraalVM Developer

Why

"I don't want to install a JDK just to diagnose a JDK. Give me a native binary that starts in 10ms."

Design

  • Build argus-cli as a GraalVM native-image
  • Instant startup (10ms vs 500ms JVM)
  • Single binary distribution (~30MB)
  • Works on systems without JDK installed

Commands That Work Natively

All jcmd-based commands work (they shell out to jcmd). JFR analysis works. File-based analysis (gclog, jfranalyze, heapanalyze) works.

Commands That Won't Work

Agent attachment (-javaagent:) requires a JVM. This is fine — native binary is for CLI diagnostics, agent mode needs JVM.

Impact

  • brew install argus installs a native binary → instant "wow"
  • Eliminates "java.lang.UnsupportedClassVersionError" issues
  • Differentiator: no JVM diagnostic CLI offers a native binary

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions