Skip to content

Releases: parttimenerd/jstall

Release 0.7.1

Choose a tag to compare

@parttimenerd parttimenerd released this 17 May 16:36

Added

  • Local AI via generic OpenAI-compatible provider (OpenAiLlmProvider) with auto-launch of llama-server
  • Tool-calling system for AI: 8 tools (get_thread_stack_trace, search_stack_frames, get_lock_info, get_top_cpu_threads, compare_thread_across_dumps, get_dependency_tree, get_system_properties, get_raw_thread_dump_section)
  • --no-tools flag, --think flag for showing LLM reasoning, --short for succinct summaries
  • Retry with exponential backoff on transient HTTP errors (429, 502, 503)
  • Robust <think> tag handling for streaming (handles tags split across chunks)
  • TablePrinter utility for formatted table output

Changed

  • Replaced Ollama provider with generic OpenAI-compatible provider; config keys are now local.host and local.llama-server-model
  • --short mode no longer double-streams (full analysis is suppressed, only summary shown)

Removed

  • OllamaLlmProvider and Ollama-specific config keys (ollama.host, ollama.think-mode)

Installation

Maven

<dependency>
    <groupId>me.bechberger</groupId>
    <artifactId>jstall</artifactId>
    <version>0.7.1</version>
</dependency>

Direct Download

Download from the assets below:

  • jstall.jar - Executable JAR file (requires Java 21+)
  • jstall - Standalone launcher script (Unix/Linux/macOS)
  • jstall-minimal.jar - Minimal executable JAR (SapMachine only, see note below)
  • jstall-minimal - Minimal launcher script (SapMachine only, see note below)

Important (jstall-minimal):
The jstall-minimal artifacts are intended to be used only in combination with a recent SapMachine release.
These artifacts don't come with asprof or libasyncprofiler binaries bundled, so you need to ensure that your Java installation includes them,
SapMachine does.

Usage:

# Using the script (recommended for Unix-like systems)
./jstall <pid>

# Using the JAR directly
java -jar jstall.jar <pid>

Release 0.7.0

Choose a tag to compare

@parttimenerd parttimenerd released this 07 May 15:31

Added

  • Live mode (--live): interactive TUI with async data collection, tab navigation, sorting, filtering, and scroll
  • --color flag for colored output in live mode (thread states, CPU % intensity)
  • Secondary sort in live mode: press s then 1-9 to add tiebreaker columns
  • Interval adjustment (+/-) and force refresh (r) in live mode
  • Collection/analysis timing display in live mode status bar
  • Scroll position indicator in footer bar
  • --top=<n> option for threads command to show only top N threads by CPU time (works with --live mode)

Changed

  • CPU time formatting: values below 10ms now display as milliseconds (e.g., 3ms) instead of 0.00s

Fixed

  • Comma-grouped numbers (e.g., 15,177) now sort correctly in tables

Installation

Maven

<dependency>
    <groupId>me.bechberger</groupId>
    <artifactId>jstall</artifactId>
    <version>0.7.0</version>
</dependency>

Direct Download

Download from the assets below:

  • jstall.jar - Executable JAR file (requires Java 21+)
  • jstall - Standalone launcher script (Unix/Linux/macOS)
  • jstall-minimal.jar - Minimal executable JAR (SapMachine only, see note below)
  • jstall-minimal - Minimal launcher script (SapMachine only, see note below)

Important (jstall-minimal):
The jstall-minimal artifacts are intended to be used only in combination with a recent SapMachine release.
These artifacts don't come with asprof or libasyncprofiler binaries bundled, so you need to ensure that your Java installation includes them,
SapMachine does.

Usage:

# Using the script (recommended for Unix-like systems)
./jstall <pid>

# Using the JAR directly
java -jar jstall.jar <pid>

Release 0.6.0

Choose a tag to compare

@parttimenerd parttimenerd released this 09 Apr 14:04

Added

  • Add -s/--ssh to use a specific shell command to execute jcmds and more
  • Add --cf to support cloud foundry environments directly
  • dependency-tree with proper detection of dependencies between threads

Installation

Maven

<dependency>
    <groupId>me.bechberger</groupId>
    <artifactId>jstall</artifactId>
    <version>0.6.0</version>
</dependency>

Direct Download

Download from the assets below:

  • jstall.jar - Executable JAR file (requires Java 21+)
  • jstall - Standalone launcher script (Unix/Linux/macOS)
  • jstall-minimal.jar - Minimal executable JAR (SapMachine only, see note below)
  • jstall-minimal - Minimal launcher script (SapMachine only, see note below)

Important (jstall-minimal):
The jstall-minimal artifacts are intended to be used only in combination with a recent SapMachine release.
These artifacts don't come with asprof or libasyncprofiler binaries bundled, so you need to ensure that your Java installation includes them,
SapMachine does.

Usage:

# Using the script (recommended for Unix-like systems)
./jstall <pid>

# Using the JAR directly
java -jar jstall.jar <pid>

Release 0.5.4

Choose a tag to compare

@parttimenerd parttimenerd released this 19 Mar 16:33

Changed

  • Only --full mode does obtain flamegraph and JFR recording

Installation

Maven

<dependency>
    <groupId>me.bechberger</groupId>
    <artifactId>jstall</artifactId>
    <version>0.5.4</version>
</dependency>

Direct Download

Download from the assets below:

  • jstall.jar - Executable JAR file (requires Java 21+)
  • jstall - Standalone launcher script (Unix/Linux/macOS)
  • jstall-minimal.jar - Minimal executable JAR (SapMachine only, see note below)
  • jstall-minimal - Minimal launcher script (SapMachine only, see note below)

Important (jstall-minimal):
The jstall-minimal artifacts are intended to be used only in combination with a recent SapMachine release.
These artifacts don't come with asprof or libasyncprofiler binaries bundled, so you need to ensure that your Java installation includes them,
SapMachine does.

Usage:

# Using the script (recommended for Unix-like systems)
./jstall <pid>

# Using the JAR directly
java -jar jstall.jar <pid>

Release 0.5.3

Choose a tag to compare

@parttimenerd parttimenerd released this 12 Mar 15:37

Changed

  • Update ap-loader version

Installation

Maven

<dependency>
    <groupId>me.bechberger</groupId>
    <artifactId>jstall</artifactId>
    <version>0.5.3</version>
</dependency>

Direct Download

Download from the assets below:

  • jstall.jar - Executable JAR file (requires Java 21+)
  • jstall - Standalone launcher script (Unix/Linux/macOS)
  • jstall-minimal.jar - Minimal executable JAR (SapMachine only, see note below)
  • jstall-minimal - Minimal launcher script (SapMachine only, see note below)

Important (jstall-minimal):
The jstall-minimal artifacts are intended to be used only in combination with a recent SapMachine release.
These artifacts don't come with asprof or libasyncprofiler binaries bundled, so you need to ensure that your Java installation includes them,
SapMachine does.

Usage:

# Using the script (recommended for Unix-like systems)
./jstall <pid>

# Using the JAR directly
java -jar jstall.jar <pid>

Release 0.5.2

Choose a tag to compare

@parttimenerd parttimenerd released this 12 Mar 14:45

Added

  • Make SystemEnvironment parsing more robust

Installation

Maven

<dependency>
    <groupId>me.bechberger</groupId>
    <artifactId>jstall</artifactId>
    <version>0.5.2</version>
</dependency>

Direct Download

Download from the assets below:

  • jstall.jar - Executable JAR file (requires Java 21+)
  • jstall - Standalone launcher script (Unix/Linux/macOS)
  • jstall-minimal.jar - Minimal executable JAR (SapMachine only, see note below)
  • jstall-minimal - Minimal launcher script (SapMachine only, see note below)

Important (jstall-minimal):
The jstall-minimal artifacts are intended to be used only in combination with a recent SapMachine release.
These artifacts don't come with asprof or libasyncprofiler binaries bundled, so you need to ensure that your Java installation includes them,
SapMachine does.

Usage:

# Using the script (recommended for Unix-like systems)
./jstall <pid>

# Using the JAR directly
java -jar jstall.jar <pid>

Release 0.5.1

Choose a tag to compare

@parttimenerd parttimenerd released this 12 Mar 13:47

Added

  • all target for running commands on all discovered JVMs or all recorded JVMs in replay mode
  • Support for passing a recording file as a positional argument for commands that support replay mode

Installation

Maven

<dependency>
    <groupId>me.bechberger</groupId>
    <artifactId>jstall</artifactId>
    <version>0.5.1</version>
</dependency>

Direct Download

Download from the assets below:

  • jstall.jar - Executable JAR file (requires Java 21+)
  • jstall - Standalone launcher script (Unix/Linux/macOS)
  • jstall-minimal.jar - Minimal executable JAR (SapMachine only, see note below)
  • jstall-minimal - Minimal launcher script (SapMachine only, see note below)

Important (jstall-minimal):
The jstall-minimal artifacts are intended to be used only in combination with a recent SapMachine release.
These artifacts don't come with asprof or libasyncprofiler binaries bundled, so you need to ensure that your Java installation includes them,
SapMachine does.

Usage:

# Using the script (recommended for Unix-like systems)
./jstall <pid>

# Using the JAR directly
java -jar jstall.jar <pid>

Release 0.5.0

Choose a tag to compare

@parttimenerd parttimenerd released this 12 Mar 10:21

Added

  • Add jvm-support command to check if a JVM is outdated
  • Add compiler-queue, gc-heap-info, vm-vitals, ``vm-metaspace, processes` commands
  • Add record and replay

Fixed

  • Fixed invalid call to AsyncProf in flame command
  • Fixed CLI bug in ai commands

Installation

Maven

<dependency>
    <groupId>me.bechberger</groupId>
    <artifactId>jstall</artifactId>
    <version>0.5.0</version>
</dependency>

Direct Download

Download from the assets below:

  • jstall.jar - Executable JAR file (requires Java 21+)
  • jstall - Standalone launcher script (Unix/Linux/macOS)
  • jstall-minimal.jar - Minimal executable JAR (SapMachine only, see note below)
  • jstall-minimal - Minimal launcher script (SapMachine only, see note below)

Important (jstall-minimal):
The jstall-minimal artifacts are intended to be used only in combination with a recent SapMachine release.
These artifacts don't come with asprof or libasyncprofiler binaries bundled, so you need to ensure that your Java installation includes them,
SapMachine does.

Usage:

# Using the script (recommended for Unix-like systems)
./jstall <pid>

# Using the JAR directly
java -jar jstall.jar <pid>

Release 0.4.11

Choose a tag to compare

@parttimenerd parttimenerd released this 28 Jan 13:02

Added

  • Support for running with Java 17

Installation

Maven

<dependency>
    <groupId>me.bechberger</groupId>
    <artifactId>jstall</artifactId>
    <version>0.4.11</version>
</dependency>

Direct Download

Download from the assets below:

  • jstall.jar - Executable JAR file (requires Java 21+)
  • jstall - Standalone launcher script (Unix/Linux/macOS)
  • jstall-minimal.jar - Minimal executable JAR (SapMachine only, see note below)
  • jstall-minimal - Minimal launcher script (SapMachine only, see note below)

Important (jstall-minimal):
The jstall-minimal artifacts are intended to be used only in combination with a recent SapMachine release.
These artifacts don't come with asprof or libasyncprofiler binaries bundled, so you need to ensure that your Java installation includes them,
SapMachine does.

Usage:

# Using the script (recommended for Unix-like systems)
chmod +x jstall
./jstall <pid>

# Using the JAR directly
java -jar jstall.jar <pid>

Release 0.4.10

Choose a tag to compare

@parttimenerd parttimenerd released this 27 Jan 23:44

Added

  • Basic support for SAP JVM thread dumps

Installation

Maven

<dependency>
    <groupId>me.bechberger</groupId>
    <artifactId>jstall</artifactId>
    <version>0.4.10</version>
</dependency>

Direct Download

Download from the assets below:

  • jstall.jar - Executable JAR file (requires Java 21+)
  • jstall - Standalone launcher script (Unix/Linux/macOS)
  • jstall-minimal.jar - Minimal executable JAR (SapMachine only, see note below)
  • jstall-minimal - Minimal launcher script (SapMachine only, see note below)

Important (jstall-minimal):
The jstall-minimal artifacts are intended to be used only in combination with a recent SapMachine release.
These artifacts don't come with asprof or libasyncprofiler binaries bundled, so you need to ensure that your Java installation includes them,
SapMachine does.

Usage:

# Using the script (recommended for Unix-like systems)
chmod +x jstall
./jstall <pid>

# Using the JAR directly
java -jar jstall.jar <pid>