JProfiler

Change Log

Release 9.2.1

•The new code sample api/samples/mean shows how to programmatically access the JProfiler MBean

•Heap walker: In the outgoing references view, the toString() filter of the "Apply filter by restricting the selected value" action now also works for Strings in snapshots

•Integration wizards: In "Startup immediately" mode, class retransformations are reduced for faster connections: An optional "config synchronization" screen is displayed for remote sessions, for local profiling sessions, the config file is now automatically specified.

•Support for NetBeans 8.2

•Netbeans plugin: Added support for profiling Maven projects

Bugs fixed:

•Do not show thread dump for HPROF snapshots if no thread dumps are available (for example with jmap -F)

•Fixed NPE for some Java 7 HPROF snapshots created with jmap -F (force)

•Telemetry overview always scrolled to bottom when resizing the window

•In the "All objects" and "Recorded objects" views, starting and stopping the session did not properly clear the view filters

•Some fatal errors during a heap dump analysis were not displayed with an error dialog

•Changing to the allocation view in an HPROF or PHD snapshot via the view selection dialog showed a progress dialog that never terminated

•Regression in 9.2: "Start probe recording" and "Stop probe recording" trigger actions did not display the drop-down for the probe anymore

•JProfiler UI on Solaris Sparc could not open heap dumps with newer 1.8 JVMs

•Snapshots can now be deobfuscated, with support for ProGuard and yGuard

•Dynamic legend for all views that show a tree, explaining all icons, abbreviations and special terms

•Support for profiling on Linux ARM hard float

•MongoDB probe: Support for current versions of the MongoDB Java driver

•Cassandra probe: Support for Apache Cassandra 2.x

•Support for NetBeans 8

•Support for eclipse 4.4

•Native file choosers and alerts on Windows and Mac OS X

•For CSV exports, the separator is now configurable

•Redesigned and more useful quick-start dialog

•Attach functionality has been moved to the start center

•Added command line export for the method statistics view

•Added view filter information to HTML exports

•Added starting and stopping of probe recording to the jpcontroller command line executable

•Temporary directory selection is now more flexible: "jprofiler.tmpdir" VM parameter, "JPROFILER_TMPDIR" environment variable, and "java.io.tmpdir" VM parameter are used in that sequence for the profiling agent and the GUI

•You can now add both the "nowait" and the "config/id" options to the -agentpath VM parameter without a license key in the referenced config.xml file

•The bytecode viewer is now Java 8 compatible

Bugs fixed:

•Mac OS X: Mouse wheel scrolling did not work on tables

•Mac OS X: There were no cell expansion tool tips for tables

•Mac OS X: Window menu was always empty

•Mac OS X: You can now also select a JRE by selecting the directory that contains the "Contents/Home" directory

•Mac OS X: Fixed many UI glitches

•Large heap dumps from offline snapshots were not loaded

•Heap walker: The "Calculate estimated retained sizes" link in the classes view was visible even if retained sizes were not calculated for the heap dump

•Heap walker: The current view could be changed while data was loading, leading to a race condition

•Heap walker: The outgoing references view did not show primitive fields for objects without reference fields

•Heap walker: Outgoing array references were unsorted

•The GUI from the "Demo server" sample session did not work on Mac OS X with Java 7+

•For request tracking across different VMs, the execution site chooser dialog was not brought to the front

•Relative files in the configured session class path were not correctly resolved for class and method selectors

•Support for Java language levels 1.7 and 1.8 in the code snippet editor

•Regression: Thread start tracking was partially broken in 8.0

•Fixed race condition in command line export

•HTML export did not correctly export plus-minus signs, as well as the call site and execution site icons

•HTML export for the method statistics view was missing the thread status information

•If a socket cannot be bound by the profiling agent, don't exit or crash, but continue without a connection

•Attach functionality did not work if the system property java.io.tmpdir was set for the JProfiler GUI

Release 8.0.7

2014-06-07

Bugs fixed:

•Attaching to a Java 8 JVM could crash the profiled process

•Heap Walker: The UI could hang in the cumulated incoming references for some hash map and linked list content

Release 8.0.6

2014-05-20

New features:

•Profiling platform: Added a version of ConnectionFactory#createRemoteConnection that makes it possible to connect to an unconfigured profiling agent

•When using the "Add method trigger" action in the call tree to create a trigger with script actions, the scripts were not compiled immediately, so those script actions would have no effect until the next restart

•Using the "Set root" action in the call tree multiple times did not work for snapshots

•The HTML export of the CPU hot spot view could have empty backtraces under some circumstances

•Profiling on Windows 2000 was broken

•Object comparison: Creating an allocation tree or an allocation hotspot comparison from the selection was broken

•Export bookmarks from the command line by specifying the "Bookmarks" as the view name

•Line style and color of bookmarks can be edited

•Heap walker, time view: Added a "Select between bookmarks" action to select all objects allocated between two bookmarks.

•Session import and export

•Command line integration wizard ($JPROFILER_HOME/bin/jpintegrate)

•View filters for snapshot comparison views

•Hiding of selected nodes in call tree and hot spot views

•Support for HP-UX on Itanium

•Bundled IDE integrations for IDEA 8, JDeveloper 11g and Netbeans 6.5

•Better user experience for slow operations in the heap walker

•Better resize behavior of table columns

•The difference columns in the "All objects", "Recorded objects" and "Allocation hot spots" views now show percentages as well. A view setting for switching between sort by value and sort by percentage has been added.

•Command line export: Added parameter -viewfilters=[comma-separated list] for both export and comparisons to apply view filters to the exported view

•Hidden messages can be enabled again on the "Miscellaneous" tab of the general settings dialog

•Added "Do not show again" option for several messages

•Integration wizard for Apache jsvc services

•All integration wizards now support offline profiling

•JDBC calls and other payload nodes in the call tree now show average times in brackets if this was selected in the view settings

•Call graph: Added a "Remove all but selected nodes" action to the context menu

•Allocation views: Added option to auto-update data periodically

•Added menu item Session->Close Session to revert a window to its original state

•Snapshot comparisons: The object comparison now has an option to compare objects in heap snapshot. In that way, HPROF heap snapshots can be compared as well.

•Support for web start sessions on Mac OS X

•Integration wizard for Websphere 7.0

•Integration wizard for IBM Websphere community edition 2.x

•Integration wizard for Jetty 6.x

•Integration wizard for the Tanuki service wrapper

•Integration wizard for Coldfusion 8

•Integration wizard for Glassfish v3

•Support for the IBM 1.6 JVM

Bugs fixed:

•Quick search feedback in table views was broken under some circumstances

•JDBC calls and other payload nodes in the call tree did not fully respect time scale settings in the view settings

•Threads were not sorted alphabetically in the thread selector of the CPU views

•Bookmarks created with the API were sometimes not transmitted immediately

•When modifying trigger settings, the config file was not updated after closing the session settings dialog

•Call tree comparison: When reloaded classes with the same name contributed to the same call stack, the comparison was faulty at that node

•Remote integration wizard: If the installation directory of JProfiler on the remote machine was specified with a trailing file separator, the modification instructions were wrong or the integration failed.

•Call tree view: "Show all" action after "Set as root" action did not always work correctly.

•Web start sessions: The chooser button for JNLP URLs in the application settings did not show any results from a Java 6 installation (new cache format).

•Web start sessions did not work with Java 1.6.0 update 10 and higher

•"Hot spots" view: For hot spot types other than methods, average times and invocation counts were not displayed if "Sampling" was selected as the method call recording type, even though this information is always available.

Release 5.1.4

2008-05-30

Bugs fixed:

•Under some circumstances, the trigger configuration could not be loaded anymore after multiple triggers had been defined for a session

Release 5.1.3

2008-04-29

New features:

•Support for Mac OS X Java 6 DP9

•Support for Netbeans 6.1

Bugs fixed:

•HPROF dialogs were not correctly sized so that the OK button was sometimes clipped

•Fixed problems with Netbeans integration

•JProfiler MBean was garbage collected under certain circumstances

Release 5.1.2

2008-01-17

Bugs fixed:

•The fix for "Instrumentation of some native methods" in 5.1.1 lead to other VerifyErrors that are fixed in this release.

•Heap walker, reference view: the "tree of outgoing references" view mode did not show any data if strings with certain characters were among the outgoing references.

Release 5.1.1

2008-01-10

New features:

•Call graph: optional display of average times, configurable in the view settings

Bugs fixed:

•NPE was thrown in JNDI interception if the parameters of a JNDI query were null

•Recorded allocation counts for objects created in native code was wrong

•HPROF options dialog was only displayed if the file name had an .hprof extension