Small, opinionated, immediately-useful diagnostic scripts for triaging production issues in Java monoliths.
This repository collects lightweight tools I (and hopefully others) use during performance / stability missions on large Java backends.
Focus: fast first-responder triage — minutes to insight, not hours of setup or analysis.
- Minimal dependencies (mostly stdlib + pytest for tests)
- Opinionated defaults → no 50 flags
- Clear output: short, readable reports (Markdown + plain text)
- Strong emphasis on business value: detect the most common time-wasters first (leaks, GC thrashing, allocation pressure, etc.)
- Each tool lives in its own subdirectory under
/tools/ - Easy to use standalone or as part of the full toolbox
Quick "flu test" for G1 GC logs — detects usual suspects (retention patterns, allocation pressure, long pauses) and recommends the next low-effort data to collect.
→ tools/gc_diagnostic/README.md
→ Quick start & usage
More tools will be added over time (thread dumps, JFR helpers, allocation profiling helpers, etc.).
Clone and jump into the tool you need:
git clone https://github.com/lkloeble/java-diagnostics-toolbox.git
cd java-diagnostics-toolbox/tools/<tool-name>
python3 <script>.py ...Most tools are stdlib-only → no installation required. For development / contribution:
Open the repo root in PyCharm (or your IDE) Create/use .venv at root pip install -r requirements-dev.txt Tests: pytest tools//tests/
MIT — free to use, modify, distribute.