New feature: ability to expand particular filtered branches in call tree views.
Expansions of filtered calls can be undone one by one by using the popup menu action "Undo" or Ctrl+Z.
You can open the longest individual event by clicking the hyperlink. As the result, the event will reveal in "Events".
Object explorer: key and value are immediately shown for map entries. Also, the action "Open map keys, values, entries in a new tab" available for map objects now by default offers to open entries, not keys.
Object explorer: class loader and, if available, web application information is immediately shown for instances of
Object explorer: class loader presentation improved:
if there are multiple class loaders that are instances of the same class (e.g.
they are indicated in the UI with an index starting with 1, which allows to easily distinct them.
The index itself does not have any physical meaning.
java.awt.Colorsupported: color components (red/green/blue/alpha) as well as the color itself are presented
Class list view now shows separate entries for classes with the same name but loaded in different loaders, as well as presents class loader information for each class loaded not with the system class loader.
New action "Memory | Objects by Field Value... (Ctrl+Shift+F)" opens in a new tab objects having particular primitive field values. This allows to find objects of interest among e.g. many other instances of a class. You can specify the field name and exact value or its minimum and maximum value limits. The action can work with all snapshot objects or with objects presented in a current tab.
Object allocation recording: toolbar has new button to clear recorded object allocations and continue recording
New inspection "Inefficient primitive data type usage"
finds situations when unnecessarily large primitive data type is used to store values that might fit a smaller data type instead,
long is used instead of
int instead of
byte. Such usage might result in memory waste.
The inspection analyzes
short as well as
short instance fields per class,
as well as standalone
New inspection "Collections with biggest storage overhead" finds collections with biggest memory usage overhead of storing their elements.
-Dyk.tmp.dir=<directory>is specified it is also respected while calculating the dominator tree which is performed when a memory snapshot is being loaded
Threads view reworked, now shows events alongside thread states
New feature: ability to export telemetry graph to
You can export entire graph or only its visible part.
When exporting a wide graph you have an option to split it to pieces of arbitrary width
to limit the resulting image width.
exceptions=onenables exception events in the JVM and immediately starts recording the exception telemetry.
exceptions=offenables exception events in the JVM but does not immediately start recording the exception telemetry that can instead be recorded later in runtime.
exceptions=disablefully disables exception events in the JVM to totally eliminate corresponding overhead.
disableexceptiontelemetry, being specified explicitly or implied with
disableall, worked for the non-IBM JVMs as the newly introduced option
exceptions=off. In this version
disableexceptiontelemetryis still accepted and is equal to
"Java EE statistics" view: added ability to open the longest event in "Events"
New inspection "Queries can be parametrized" finds similar SQL queries that can potentially be optimized by using a prepared statement with parameters
yjpagent.dllis digitally signed.
~/.yjp/ui.inijust like on all other supported platforms; previously it was required to modify the application's
Info.plistto change the parameters.
Scalability: added an option to disable retrieval of object instance count by class statistics when capturing performance snapshots (available in performance snapshots under "Memory", "Memory & GC Telemetry") which in some cases may take noticeable time depending on heap size.
To disable the statistics when capturing performance snapshots from the profiler UI,
add the line
To disable the statistics when capturing performance snapshots via API or triggers,
specify the agent startup option