Fully featured low overhead profiler for Java EE and Java SE platforms.
Easy to use performance and memory .NET profiler for Windows and Linux.
Performance monitoring and profiling of Jenkins, Bamboo, TeamCity, Gradle, Maven, Ant and JUnit.

Changes in Version 2021.3

Mac on Apple silicon

  • feature Mac on Apple silicon is now natively supported. The platform is also known as M1, ARM 64, arm64, aarch64.

    Both the profiler agent and the profiler UI run on Apple silicon natively without Rosetta emulation layer.

    Apple M1 logo

JVM support

  • feature JDK 16 supported.
  • caveat JDK 7 support deprecated in version 2020.7 was discontinued. The last version supporting Java 7 is YourKit Java Profiler 2020.9.

User interface

  • improvement Remote connection in simple mode explicitly shows an error message if the specified host is invalid instead of informing that no profiled application is found without specifying the reason.
  • improvement Callees list renamed to Callee list.
  • improvement New activation wizard improves UX of profiler activation and evaluation. The wizard guides through the activation and gracefully handles corner cases when the computer has no Internet connection, is behind a proxy, etc.

    Activation wizard
  • improvement Main menu: the sub-menu Tools | Profile was moved to the top level item Profile.
  • fix The profiler window might not show up because of a slow enumeration of locally running processes.
  • fix Applications matching the development tool filter were not shown in the list even if they were actually profiled, i.e. the agent had been loaded.
  • fix In SSH configuration it was impossible to choose private SSH key from the hidden directory.
  • caveat The "system" color theme deprecated in version 2020.7 was finally removed.

Telemetry

  • feature UI was adopted to support ZGC.

CPU profiling

  • improvement The CPU profiling mode Call counting uses atomic counters to prevent undercounting.
  • fix "Count" column visibility issues when CPU sampling is started in live view.

Memory profiling

  • feature Profiler is now able to open IBM J9 / OpenJ9 JVM's Portable Heap Dumps.
  • feature New action Exclude Retained Objects opens a new tab with all the objects from the current set except for the retained set of the current selection. You can find the action in the popup menus of memory views.

    Ignoring retained objects and focusing on the rest might help finding memory leaks and analyze memory distribution.

    Exclude retained objects popup
  • feature Class-specific object presentation: the object explorer immediately shows the library name for instances of java.lang.ClassLoader$NativeLibrary.
  • improvement Memory snapshot loading time was greatly improved. The speedup varies from 10% to 20%.
  • improvement Array shallow size calculation algorithm for HPROF snapshots was updated to support possible object layouts in JDK 15+.
  • improvement The object allocation recording mode "Count allocated objects" uses atomic counters to prevent undercounting.
  • improvement The dialog window for the action Memory | Contained Objects shows all options accessible without scrolling.
  • improvement Object sizes can be precisely calculated for a HPROF snapshot created with the help of the .snapshot to .hprof converter.
  • improvement Other snapshot processing optimizations.
  • fix Object explorer and Quick info might improperly show content of char[].

IDE integration

  • feature IntelliJ IDEA 2021.1 supported.
  • caveat Minimal supported IntelliJ IDEA version is now 2016.1. Support of IntelliJ IDEA 14 and 15 has been removed.
  • caveat Minimal supported NetBeans version is now 8.2.
  • fix IntelliJ IDEA: plugin settings were not stored for a project of type "IntelliJ Platform Plugin".

EE server support

  • feature Integration wizard supports Tomcat 10.
  • caveat Integration wizard no longer supports defunct JRun server.

Triggers

  • feature Triggers panel: show macro descriptions.

Events

  • feature JEE 9 (Jakarta EE) supported.
  • feature OpenJPA 3.1 supported.
  • feature EclipseLink 3.0 supported.
  • improvement Built-in probes for file I/O and processes were changed to instrument non-native methods only. This allows the probes to work in the attach mode too, in which the instrumentation of loaded native methods is impossible.

Miscellaneous

  • feature Automatic deobfuscation: source file names are also deobfuscated. This new functionality was added for Zelix KlassMaster (ZKM) and Allatori. It is not available for other obfuscators because their obfuscation logs do not support it.
  • feature Summary tab shows the garbage collection name in the section Garbage collection.
  • feature Summary tab shows the profiled application's PID.
  • feature Summary tab shows the profiled application's profiler agent log file path. This can be used for troubleshooting.
  • feature Summary tab shows the profiled application's environment variables.
  • feature Summary tab shows the profiled application's working directory.
  • feature Summary tab shows the "Command line" property for a HPROF snapshot too, if available.
  • improvement Time measurement improvements in the profiler agent on Linux and macOS.
  • improvement The profiler agent automatically applies the startup option skip_advanced_port_check when running under Kubernetes.
  • improvement The profiler agent is capable of instrumenting java.lang.Thread.sleep() on all supported JVMs.
  • fix The profiler UI prevents JNA (Java Native Access) framework from loading a native library from PATH instead of the bundled version.
  • fix Attach mode: a harmless exception "Non-numeric value found - int expected" was thrown and logged after successful attach to a Java 11+ JRE instance not having the jdk.attach module.
  • fix Attach mode: Azul Zulu Java 8 JRE could not be attached on macOS.
  • caveat Solaris 32-bit agents deprecated in version 2020.9 are no longer supported. Solaris 64-bit Java agents are still supported but declared deprecated.

Deprecations

Deprecation means that we intend to remove the feature or capability from a future release of YourKit Java Profiler. The feature or capability will continue to work and is fully supported until it is officially removed.

  • Solaris support. This includes the remaining 64-bit agents and the ability to run the profiler UI on this platform.
  • HP-UX support.
  • Linux ppc 32-bit support. Note that Linux ppc64 (64-bit big endian) and ppc64le (64-bit little endian) remain fully supported platforms.
  • AIX ppc 32-bit support. Note that AIX ppc64 (64-bit) remains a fully supported platform.

YourKit uses cookies and other tracking technologies to improve your browsing experience on our website, to show you personalized content and targeted ads, to analyze our website traffic, and to understand where our visitors are coming from.

By browsing our website, you consent to our use of cookies and other tracking technologies in accordance with the Privacy Policy.