Profiling Java @ 2019
A good profiler can really help you in your work while coding Java (I assume while coding any coding language but I am referring to Java here)
It can find memory leaks (Which object and how many of it takes the most of your limited memory?), CPU bottlenecks and other surprising data like the time consumed by each network call / DB query etc.
Thus it is not so surprising to find many different java profilers around.
I will try to map here the Java profiling tools lying around
My short list of requirements will include the following:
It can find memory leaks (Which object and how many of it takes the most of your limited memory?), CPU bottlenecks and other surprising data like the time consumed by each network call / DB query etc.
Thus it is not so surprising to find many different java profilers around.
I will try to map here the Java profiling tools lying around
My short list of requirements will include the following:
Profiler Requirements
- Constantly updated profiler (how a profiler built to profile Java6 will behave with Java11?)
- Clear GUI - As I will want to dive into the profiling data - it will be much simpler using UI
- Free (With a big advantage to the open sourced ones)
- (Optional) Remote profiling
List of Profilers
Dead Profilers (At least 5 years without an update)
- JIP - Java Interactive Profiler - Last update 2010
- Profiler4J - Last Update 2006
- Patty - Last Update 2006
- JVMMonitor (2013)
- Many open sourced dead projects
Non Free Profilers
Not Good Enough (for me)
- JvmTop - 2015, Only CPU profiler and has no GUI
- Netbeans Profiler - Bundled with netbeans (Which I don't use)
Profilers Worth Checking
- InspectIT
- Prefix (Not Open Source but free)
- VisualVM (Bundled with the JDK?)
- Java Mission Control - Bundled with Java [Maybe needs a license for using it in production] (Using Java Flight Recorder internally)
- Oracle JRockit Mission Control - Same as JMC, just a rebranding
Summary
In this post I have listed many java profilers.
The non-relevant ones are important to map as well as those ones which are worth checking as it is important to iliminate those you won't use in order to shorten the path to finding the right tool for your trade.
Comments