A sampling JVM profiler that avoids safepoint bias for accurate performance analysis.
Honest Profiler is a sampling profiler for the Java Virtual Machine that collects performance data without safepoint bias. It uses operating system signals to sample running threads, providing more accurate profiling information than traditional JVM profilers that require threads to reach safepoints. This helps developers identify real performance bottlenecks in Java applications.
Java developers and performance engineers who need accurate profiling data for production applications, particularly those working on high-performance systems where traditional profilers provide misleading results.
Developers choose Honest Profiler because it provides truthful performance measurements by eliminating safepoint bias, unlike many commercial and open-source profilers that distort results. Its low overhead makes it suitable for production use, and it focuses on accuracy rather than convenience features.
A sampling JVM profiler without the safepoint sample bias
Samples JVM threads without requiring safepoints, providing more accurate profiling data than traditional methods that distort results with artifacts.
Uses operating system signals to collect stack traces with minimal performance impact, making it suitable for production use without significant slowdowns.
Intended for diagnosing performance issues in live applications, not just development environments, with a focus on reliability and low intrusion.
Focuses on truthful measurements over convenience, helping developers identify real bottlenecks rather than misleading profiling artifacts.
Only generates raw profiling reports that require external tools or manual analysis, unlike commercial profilers with integrated visualizations for easier interpretation.
Requires downloading binaries or building from source and integrating with the JVM via agent libraries, which can be error-prone and time-consuming compared to plug-and-play tools.
Documentation is hosted on a wiki and may be incomplete or scattered, making it harder for new users to get started without extensive trial and error.
honest-profiler is an open-source alternative to the following products:
JProfiler is a Java profiler tool for performance analysis, memory leak detection, and thread profiling in Java applications.
Java Flight Recorder is a profiling and event collection framework built into the Java Virtual Machine for diagnosing performance issues in applications.
Log analyser / visualiser for Java HotSpot JIT compiler. Inspect inlining decisions, hot methods, bytecode, and assembly. View results in the JavaFX user interface.
jHiccup is a non-intrusive instrumentation tool that logs and records platform "hiccups" - including the JVM stalls that often happen when Java applications are executed and/or any OS or hardware platform noise that may cause the running application to not be continuously runnable.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.