Skip to content

Using DIXY

CLI Commands

Every dixy terminal command and dixy> shell command, with options.

Terminal commands

CommandWhat it does
dixyOpen the interactive dixy> shell.
dixy detect --pid <pid>Attach the agent to a running JVM and scan every second.
dixy detect --jar <path>Launch a jar with the agent attached and scan it.
dixy detect --jar <path> --jsonSame scan, machine-readable {"cycles":[...]} snapshots.
dixy <app-directory>Pick a runnable jar in the folder, start it with the agent, open the shell.
dixy --versionPrint the installed version.

Shell commands

Run these at the dixy> prompt. Type help for options; tab completion is available.

CommandWhat it does
detectContinuously scan live telemetry (supports --pid, --jar, --json).
statusDiagnostic status: HEALTHY / WARNING / CRITICAL.
deadlocks detectRun detection once on the current wait-for graph.
deadlocks listList the latest stored deadlock reports.
deadlocks clearClear all stored DIXY telemetry data.
threads listList registered threads.
threads get --thread-id <id>Get a thread by JVM thread id.
threads delete --id <id>Delete a thread by database id.
locks listList locks.
locks get --lock-id <id>Get a lock by its lock-id string.
locks delete --id <id>Delete a lock by database id.
events listRecent raw JVMTI events (LockOwned / LockReleased).
helpList every command and its options.

Run the shell without the launcher

bash
java -Duser.timezone=UTC -Dspring.profiles.active=cli \
-jar build/libs/virtual_deadlock_detection-0.0.1-SNAPSHOT.jar
On Windows, run-cli.bat builds the jar, starts PostgreSQL + Redis and launches the shell in one step.