JProfiler versions

Resolve performance bottlenecks and pin down memory leaks in Java programs
Mar 7, 2022
Jan 11, 2021
Mar 27, 2019
Review
Apr 12, 2018
Review
9.1
Nov 26, 2015
Review
9.0
Jun 16, 2015
Review
8.1
Sep 28, 2014
Review
8.0
Jul 28, 2013
Review
7.2
Oct 8, 2012
Review
7.1
Mar 13, 2012
Review
7.0
Sep 1, 2011
Review
6.2
Feb 17, 2011
6.1
Nov 10, 2010
Review
6.0
Nov 11, 2009
5.2
Dec 18, 2008
5.1
Mar 23, 2008
5.0
Mar 20, 2008

What's new

v11.1
New features:
- HTTP requests probe: Added support for OkHttp 4.4 and Apache HttpClient 5.0.
- MongoDB probe: Added support for the 4.0 Java driver.
Bugs fixed:
- The "address" agent option for listening on a particular network interface did not work on AIX.
- IntelliJ IDEA plugin: Profiling Gradle run configurations did not work anymore since IDEA 2019.3.

v9.1 [Nov 26, 2015]
New features:
Connection leak detection in the JDBC probe
Built-in SSH tunneling for remote profiling
Telemetry overview showing all system and custom telemetries together
Diff view for thread dumps
Thread locals inspection in heap walker
Support for profiling modularized applications on Java 9
Support for profiling on Linux ARMv8
Shortened package names displayed in graph nodes, configurable with a view setting
Improved scroll and zoom behavior in graphs, including pinch-to-zoom on Mac OS X
Call graph: Outgoing calls are now always from the right side of the node
Call graph: Opening outgoing calls first opens the important nodes as configured in the view settings, only on the second click it opens all nodes
Clicking on edges in graphs jumps to the target node if invisible, Ctrl/Cmd Click jumps to the origin node
Edges in graphs show tool tips if one or both nodes are invisible
Ctrl/Cmd C in graphs copies text from the selected node or the tool tip text if no nodes are selected
Quick search in graphs
Undo/Redo actions for all changes to graphs
Call tree analysis for collapsing recursions
Call tree analysis for showing cumulated outgoing calls of a selected method
Call tree analysis for showing the backtraces to a selected method
Improved call tree filters to distinguish "compact" and "ignored" filters
Recording actions for probe events
Tool tips for telemetry views that snap to measured data points and show measurements for all data lines
Retina support on Mac OS X
"Set root" action in call tree now limits data in hot spots view and call graph
Support for MongoDB driver 3.x with both old and new API
Heap walker: It's now possible to retain finalizer references in the heap dump options, also the weak reference inspections can retain finalizer references
MBean browser: Always add "ObjectName" attribute
MBean browser: Show keys in MBean tree
MBean browser: Search now also works on folders
Show non-modal messages for "Run GC" and "Save snapshot" actions
HTTP splitting scripts and method splitting scripts can now be disabled
Implemented the "CPU load" telemetry for IBM VMs
Redesigned inspections view in the heap walker
Improved config of weak reference and stack reference inspections
Added "Case sensitive" and "Use camel humps" options for quicksearch, enabled by default
Bugs fixed:
Thread dumps view: Line numbers were not exported to HTML or copied to the clipboard
Improved detection of physical JDBC connections
Thread name changes were not tracked on Mac OS X with Java 7
Very large reference graphs or call graphs graphs would block the UI when nodes were opened
Method graph was re-layouted when nodes were removed
Mac OS X: Repeated use of the right arrow key did not open the call tree along the line of the maximum performance impact
Call tree view filters did not work as expected in several ways
When using inspections, some views could be empty when going back in the heap walker browser history
Calling Controller.triggerHeapDump() and Controller.triggerThreadDump() when the agent is not loaded printed an exception instead of an error message
Overhead of MBean browser could be high
"analyze" and "export" ant tasks did not have attributes for deobfuscation
"analyze" ant task did not have options for selecting retained reference types
File probe did not work correctly with streams created before recording started
Regression in 9.0: "Recorded objects" and "All objects" views did not contain primitive arrays when viewed in a snapshot

v9.0 [Jun 16, 2015]
JDBC probe: For Postgres, prepared statement execution was not recorded
Web service probe: Not all web service calls were tracked, for example when they were made from Weblogic
Probe telemetry comparison did not work if stacked telemetries were recorded (e.g. JPA/Hibernate)
Probe tracker did not work for formatted hot spots (e.g. JPA/Hibernate)
In snapshots, only the first activated probe displayed probe telemetry or probe tracking data
If instrumentation recording was started while a thread was inside a lambda, the call tree was corrupted
eclipse 4.5 integration did not work on Mac OS X

v8.1 [Sep 28, 2014]
New features:
- Bundled integration for IntelliJ IDEA 14.1 (the newest IDEA plugin is always available in time from the IDEA
plugin manager).
Bugs fixed:
- Regression in 8.1.3: IDE integrations were broken on some Windows systems.
- Eclipse IDE integration failed if the previous eclipse installation directory was deleted.
- "Out of memory exception" trigger could not be edited.
- Fixed a crash while retransforming Java 8 Lambda classes.

v8.0 [Jul 28, 2013]
Features:
- Tracking of RMI, web service and remote EJB calls between multiple profiled JVMs
- MongoDB probe
- HBase probe
- Cassandra probe
- Class loader probe with cross-link into the heap walker
- Recording profiles for switching on multiple recording types at the same time
- Support for loading PHD snapshots from IBM JVMs
- Support for profiling Java 8
- Heap walker: Optional retained size column in the classes view of the heap walker
- Heap walker: Action to use all retained objects for the current object set
- Heap walker: Actions to use retained objects for the selection in the classes and references views
- Heap walker: Action to use loaded classes for a class loader instance in the references views
- Heap walker: The class loader grouping table now has an action for using the selected class loader instance
- Reduced overhead, synchronization and allocations in the probe recording system
- Reduced overhead for recording exceptional method runs
- The status bar now shows all active recording types with a balloon
- All lists are now quick-searchable
- Support for JAR directories for local session types
- Added demo session: "Demo server" that helps to experiment with several probes
Bugs fixed:
- Script classes were not recompiled when the selected JVM was changed
- Hot spots views: Exceptional methods runs were not merged in backtraces
- Session settings: Relative paths in java file paths were not interpreted as relative to the installation directory

v7.2 [Oct 8, 2012]
- New features:
- Biggest objects view in the heap walker: Objects in "cutoff" nodes can now be selected.
- Bundled integration for IntelliJ IDEA 12.x (the newest IDEA plugin is always available in time from the IDEA plugin manager).
- Bugs fixed:
- Platform API was partially broken (regression in 7.2).
- Monitor history and locking history graph: If a very large numbers of events were recorded, opening a snapshot could be very slow.
- Monitor history graph: For snapshots, the telemetry could not be zoomed out.
- Attaching to a 64-bit JVM from a 32-bit process did not work on Solaris and HP-UX.
- Attaching to a 64-bit JRockit JVM did not work.
- Sampling did not produce any results with Java 1.4 under some circumstances (regression in 7.0).
- Code samples in help were compressed to single lines.
- Mac OS X: IntelliJ Idea integration from JProfiler did not work.
- Fixed NPE in eclipse IDE integration.

v7.1 [Mar 13, 2012]
-A JPA/Hibernate probe has been introduced

v7.0 [Sep 1, 2011]
Probes. JProfiler now has a dedicated JEE & probes view section where you can record and analyze high-level data from various subsystems. There are built-in probes for:
JDBC
JMS
JNDI
Servlets
Files
Sockets
Processes
Probes can have the following views: In the time line view, the probe shows its control objects as colored bars along a time axis. Control objects are long-lived objects associated with single probe events. For example, in the JDBC probe, the control objects are the database connections. The colors on the time line bars correspond to the different states that the control object can be in.

Alternative downloads

ANTS Performance Profiler
ANTS Performance Profiler
rating

Boost the performance of your applications with .NET profiling.

Xamarin Profiler
Xamarin Profiler
Free
rating

Find and fix memory & performance bottlenecks of Xamarin apps.

AMD CodeXL
AMD CodeXL
Free
rating

AMD CodeXL enables developers to harness the benefits of AMD CPUs, GPUs and APUs.

AppPerfect Java Profiler
AppPerfect Java Profiler
rating

Find memory leaks, race conditions, and thread locks on Java programs.

Debug Tray
Debug Tray
Free
rating

Debug Tray will show various information about a selected process.