Skip to content

Getting started

Introduction

What DIXY is, what it detects, and how the pieces fit together.

What is DIXY?

DIXY is an open-source Java runtime monitoring and deadlock-detection tool. It watches thread and lock activity inside a Java application, builds a wait-for graph from that activity, and reports circular dependencies between threads — the shape of a deadlock.

What it finds

  • Classic deadlocks — thread A holds lock X and waits for lock Y, while thread B holds Y and waits for X.
  • Virtual-thread pinning — virtual threads pinned to their carrier inside a synchronized section, read from the JFR jdk.VirtualThreadPinned event.
  • Hybrid cycles — deadlock cycles that include a pinning edge.

Ways to run it

ModeWhat you get
dixyInteractive dixy> shell with tab completion.
dixy detectNon-interactive live scan with exit codes, ideal for scripts.
Web / API modeREST API on port 8081 plus Prometheus metrics.
-javaagentAttach the agent to your own application; it reports cycles to the backend.

Project status

The latest public release is v1.0.4. The native agent ships for Linux x86-64 and Windows x86-64 only. Deadlock prediction and Grafana dashboards are in progress; see the roadmap.