Early Access Program
YourKit Early Access Program (EAP) is the easiest way to get in touch with the latest technologies from YourKit.
You can have early access to new products and internal builds.
NOTE: THIS IS PREVIEW SOFTWARE AIMED AT PROVIDING YOU WITH AN OPPORTUNITY
TO TEST THE NEWEST FEATURES SCHEDULED FOR THE NEXT MAJOR RELEASE.
YOURKIT DOES NOT GUARANTEE THAT THIS SOFTWARE WILL RUN TROUBLE-FREE.
USING THIS SOFTWARE IS AT YOUR OWN DISCRETION AND DOES NOT ENTITLE YOU TO ANY
Your comments, suggestions and bug reports are welcome. In the forum you
can discuss product features with YourKit developers and post bug reports.
YourKit Java Profiler 2018.5 EAP
Build #97, released on January 21, 2019
Download and run installer
Download disk image
x86, x64, ARM, AArch64, ppc, ppc64, ppc64le
Download and unpack ZIP archive
||SolarisSPARC, x86, x64
Changes in build 97
Event recording with probes: Java persistence (JPA) built-in probes improved
IDE integration: IntelliJ IDEA plugin now uses properly scaleable SVG icons.
Note: SVG icon format support was introduced in IDEA 2018.1,
hence the plugin will keep using bitmap icons in older IDEA versions.
Object allocation recording: bug fixed: a race condition could cause a crash
Changes in build 94
Bug fixed: profiler UI failed with internal error being started on a machine with invalid font metrics
Caveat: snapshot file annotation is no longer offered for
only for the profiler-format
The HPROF format does not allow arbitrary records, and extending a
with custom records would make it invalid for 3rd party tools.
Other bug fixes
Changes in build 90
IDE integration: Apache NetBeans 10 supported
IDE integration: MyEclipse CI 2018.12 supported
Command line tool:
start-alloc-recording starts object allocation recording
with custom record-each and size-limit parameters.
Changes in build 87
Better support of HiDPI screens on Linux
Changes in build 86
Changes in build 85
New profiler API methods
provide basic object allocation recording statistics.
The same values can also be obtained with the
command line tool's
Changes in build 83
Critical UI bug fixed:
multiple internal error dialogs on attempt to start profiling or some other operations.
Changes in build 82
Changes in build 68
Changes in build 63
Console wizards: bug fixed: internal diagnostic messages were printed to the console instead of being written to the log
Attach mode: improved handling of Java 11
Changes in build 56
Java 11 is supported
OpenJDK builds based on the Eclipse OpenJ9 VM as well as on HotSpot are supported.
We support all Java versions available at AdoptOpenJDK.net, which at the moment are Java 8, Java 9, Java 10, Java 11.
i.e. the ability to profile a running JVM instance started without the profiler agent,
has been supported for IBM Java based on the Eclipse OpenJ9 VM.
This JVM powers the latest IBM Java 8 builds,
as well as IBM OpenJDK 8/9/10/11 available at AdoptOpenJDK.net.
object allocation recording:
added support of the new Java profiling capability called heap sampling,
which was introduced in Java 11 via JEP 331.
The heap sampling provides a new JVM event (JVMTI function) to record allocated objects
without using bytecode instrumentation.
Not instrumenting bytecode for object allocation recording
reduces class load time and size of the resulting bytecode.
Also, this new approach is extremely useful in the attach mode,
because it totally eliminates the pause on a first attempt to start object allocation recording,
which is associated with instrumenting classes loaded before the agent attached.
By default, the heap sampling event is used instead of bytecode instrumentation whenever available,
that is, on Java 11 and newer.
To use bytecode instrumentation instead, please specify the agent startup option
when the profiler opens a memory snapshot,
the dominator tree computing is now by default performed inside the profiler UI process.
Previously, an external process would always be launched for the dominator tree computing.
The old behavior can be reverted by specifying the property
The external process approach was introduced many years ago and was intended to help loading memory snapshots
to the profiler UI running on a 32-bit JVM, then-mainstream, with essentially limited address space.
Currently, the profiler UI requires a 64-bit JVM to run, thus launching the external process no longer makes sense.
Another drawback of the old approach was that some antivirus programs might raise a false alarm
for such external process and prevent it from launching, hence the snapshot failed to open.
Event recording with probes:
com.yourkit.probes.builtin.Databases probe overhead significantly reduced for some loads
the profiler UI now shows time in 12 hour (AM/PM) or 24 hour format depending on the system settings
Welcome screen: streamlined agent statuses in regard to the agent attachability.
A process without the agent loaded is no longer indicated with the "ready to attach" status,
because it cannot be reliably determined until attach is actually performed.
Instead, the UI now allows an attempt to attach to any process, which will either succeed or show an error message.
free form snapshot annotation
is now easily accessible in the recent snapshot list,
as well as in the "Open Snapshot" dialog.
Local network address resolution was improved
to properly handle machines with misconfigured or absent "localhost" host name.
"Open Snapshot" dialog now shows and allows to open a snapshot
stored in a GZIP (
.gz) or ZIP (
Monitor profiling: bug fixed: live view is updated properly,
without unneeded expands/collapses
Bug fixed: Summary tab: no properties retrieved for HPROF dumps of Java 10+
Improvement: Horizontal scrolling with two fingers gesture now works on Windows.
Bug fixed: wrong tooltip position in "Open Snapshot" dialog
Bug fixed: permanent, non-closable tooltip in "Threads" view after applying thread name filter
Bug fixed: toolbar panel button visual bug on attempt to start CPU tracing or allocations recording
if they are disabled
Bug fixed: menu separator with text does not look like a separator
Caveat: the profiler UI now requires a 64-bit JVM to run.
Also, the API to programmatically open memory snapshots requires a 64-bit Java too.
Please note that profiling of both 32-bit and 64-bit JVMs is still fully supported,
and the console wizards (Java EE server integration, attach) can run on either 32-bit or 64-bit JVM.
due to low demand and significant resources required to build, test and maintain,
the following platforms are now considered advanced: AIX, HP-UX, Solaris, Linux PPC.
This means that connecting the profiler UI to a JVM running on such platform, or
opening or exporting a snapshot captured on such platform
now requires a license with advanced support.
Few people use these platforms nowadays,
but the cost of supporting them is significant.
We seek to at least partially compensate it, and keep these platforms
supported as long as it practicable.