v2.0 is now live
Java Profiling,
Reimagined.
Zero-setup, runtime-attach profiler that lives in your terminal and integrates seamlessly with IntelliJ IDEA.
bash
$ tiny-profiler attach
--pid 12345
✔ Attached to process 12345 (Spring Boot)
ℹ Starting sampler at 10ms interval...
⚠ High CPU usage detected in
com.example.MyService.process()
$ _
Why Developers Love Tiny Profiler
Built for speed, simplicity, and actionable insights.
Runtime Attach
Attach to any running JVM process instantly without
restarting your application. Zero downtime analysis.
Visualized in IDE
Metrics appear directly in IntelliJ via CodeVision. See
latency and allocs right above your methods.
Resources Friendly
Extremely low overhead (~1%). Uses async sampling and
efficient bytecode instrumentation.
Docker Native
Auto-discovery of JVMs inside Docker containers. Just
mount the socket and go.
Flame Graphs
Generate interactive flame graphs to visualize
performance bottlenecks instantly.
CI/CD Ready
Scriptable CLI allows you to run profiling sessions as
part of your automated tests.
Zero to Profiling in Seconds
Start Controller
Run the lightweight daemon that manages connections.
tiny-profiler controller start Attach Agent
Inject the agent into any local or remote JVM.
tiny-profiler attach --pid <id> Analyze
Watch real-time metrics flow into your IDE or terminal.
Frequently Asked Questions
Common questions about functionality and compatibility.
General
Technical
Is it safe for production?
Yes. The profiler is designed with low-overhead sampling (approx 1-2%) and has been battle-tested in high-load production environments.
Does it support remote debugging?
Absolutely. You can connect the CLI to a remote controller instance via HTTP to profile applications on different servers.
How does it compare to JProfiler/YourKit?
Tiny Profiler focuses on 'always-on' availability and IDE integration rather than deep-dive snapshots. It's lighter and faster for day-to-day dev loops.
Boost Your Java Performance Today
Open source, free to use, and community driven.