async-profiler vs YourKit Java Profiler
async-profiler
github.comYourKit Java Profiler
yourkit.comSide by side
| Figure | async-profiler | YourKit Java Profiler |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | Yes |
| Open source | — | — |
| Windows | — | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 10 |
| Spec score · Profiling Software | 8.1 (#7) | 7.5 (#19) |
| Purpose | async-profiler is a low-overhead sampling profiler for Java that avoids the safepoint bias problem. | YourKit Java Profiler profiles Java applications and servers locally or remotely across development, testing, and production environments. |
Plans
YourKit Java Profiler
- Five-seat annual subscription advanced supportPrice not published
- Five-seat annual subscription basic supportPrice not published
- Five-seat perpetual advanced supportPrice not published
- Five-seat perpetual basic supportPrice not published
- Single-seat annual subscription advanced supportPrice not published
- Single-seat annual subscription basic supportPrice not published
- Single-seat perpetual advanced supportPrice not published
- Single-seat perpetual basic supportPrice not published
- Single-user floating annual subscription advanced supportPrice not published
- Single-user floating annual subscription basic supportPrice not published
In their own words
async-profiler
async-profiler is a free, self-hosted sampling profiler for Java designed to keep overhead low and avoid safepoint bias. It works with OpenJDK and other runtimes based on the HotSpot JVM, and stack traces can include non-Java threads as well as native and kernel frames. It profiles CPU time, Java-heap and native-memory allocations, memory leaks, contended locks, and hardware or software performance counters. Documented modes include CPU, allocation, wall-clock, Java-method, and multiple-events profiling. Results can be saved as collapsed stacks, flame graphs, HTML tree views, or text; an interactive Flame Graph can be viewed in a browser. Officially maintained builds are available for Linux and macOS on x64 and arm64. Developers can use the Java API as a Maven dependency, and IntelliJ IDEA includes async-profiler in its Java Profiler settings. It can profile Java processes in Docker or LXC from inside a container or from the host. Building it requires make, GCC 7.5.0 or later or Clang 7.0.0 or later, static libstdc++, and JDK 11 or later.
YourKit Java Profiler
YourKit Java Profiler analyzes Java applications and servers locally or remotely in development, testing and production. CPU results can be viewed as call trees or hotspot lists, and a what-if feature estimates optimization gains without another profiling run. Memory views map the heap and object graph, including the memory retained by each object. More than 40 inspections flag issues such as leaked webapps, duplicated objects, unclosed SQL statements, inefficient collections and I/O operations. The profiler also identifies slow SQL queries and HTTP requests and supports databases including MongoDB, Cassandra and HBase. Plugins for Eclipse, IntelliJ IDEA and NetBeans link profiling results to source code. Remote profiling needs SSH access, while UI-to-agent communication uses SSL-encrypted TCP/IP. Downloads are available for Linux, macOS and Windows; APIs, command-line tools and export formats support automation. A free plan and a paid model are listed, and an evaluation license can be requested for up to 15 days. The pricing note gives a starting price of $99/user/yr.