Fully featured low overhead profiler for Java EE and Java SE platforms.
Easy-to-use performance and memory .NET profiler for Windows, Linux and macOS.
Secure and easy profiling in cloud, containers and clustered environments.
Performance monitoring and profiling of Jenkins, Bamboo, TeamCity, Gradle, Maven, Ant and JUnit.

Changes in version 2024.3

JVM support

  • feature Java 22 is supported.

Networking

  • feature The profiler displays detected proxy settings when using the automatic proxy detection mode (the default mode). This can be very useful in cases where the profiler incorrectly identifies the proxy server, preventing connections with remote agents.

    Detected proxy

Security

  • improvement Profiler agent does not log command line options unless the verbose option is specified.

User interface

  • feature We've enhanced the user experience for two-finger scrolling. The profiler eliminates minor finger tremors during scrolling, ensuring a smooth, jitter-free scroll. Currently, this functionality is utilized in the Threads view, but it will be adapted across other parts of the UI in upcoming versions.
  • feature Introduced the ability to close (and later reopen) top tabs displaying profiling results when the profiler is connected to profiled applications.
  • feature Added functionality to reset collected profiling results when profiling is disabled. Previously, resetting was only possible while profiling was active.
  • improvement Double-clicking the drawer's button now toggles the collapse/expand state of the drawer.
  • caveat The Performance charts view has been renamed to Telemetry.

Thread profiling

We have completely overhauled the user interface for thread profiling. It's now more convenient, clearer, and works much faster. We've tried to address all the UX shortcomings you pointed out when working with the old interface.

  • feature The thread list has been turned into a table with columns, which can show an unlimited number of threads.

    Thread state timeline
  • feature You can sort threads by name and by consumed CPU time.
  • feature A tooltip appears upon mouse hover over individual thread activity bars, providing the name of the top method on the thread's stack.

    Method name in the tooltip
  • feature The ability to optionally display hot spots Hot spot on the thread timeline has been added.
  • feature Now it is possible to quickly change the range and scale of visible data in the thread state timeline using the actions from the toolbar: Show last 15 minutes, Show last 30 minutes, Show all
  • feature You can control auto-scrolling behavior using the Autoscroll button in the toolbar. When toggled, the timeline will be automatically scrolled to the right when new data arrives.
  • feature It is now possible to zoom in and zoom out the thread state timeline by Ctrl + Mouse wheel scrolling.
  • feature You can control the amount of data collected (and accordingly, the profiler overhead) when starting thread profiling. You can do this through the UI, as well as with threads startup option.

    Thread profiling options
  • feature You can now start Start thread profiling, stop Stop thread profiling, and reset Reset thread profiling thread profiling at any time.
  • improvement Data collection for thread profiling has been separated from data collection for telemetry. Now you can reset telemetry data and thread profiling results independently.
  • improvement The profiler better preserves fine details when changing the scale of the thread state timeline. In most cases, even very rare states will be visible even at the smallest scale.

Telemetry

  • feature The user interface has been updated with toolbar buttons to start Start telemetry collection and stop Stop telemetry collection telemetry collection, expanding control beyond the previous capability of only clearing collected telemetry.

IDE integration

  • feature NetBeans 21 is supported.

EE server support

  • feature Apache TomEE 9.1 server is supported.
  • feature Open Liberty 24 server is supported.
  • feature WebSphere Liberty 24 server is supported.
  • feature WildFly 31 server is supported.

Events

  • feature HBase Java client version 2.5 is supported.
  • feature Hibernate driver version 6.4 is supported.
  • feature MongoDB driver version 5.0 is supported.

Profiler API

  • feature New /yjp/api/v2/startTelemetry end-point to start telemetry collection.
  • feature New /yjp/api/v2/stopTelemetry end-point to stop telemetry collection.
  • feature New /yjp/api/v2/resetThreadProfiling end-point to reset thread profiling.
  • feature New methods in the profiler Java API startTelemetry(), stopTelemetry() and resetTelemetry() to control telemetry collection.
  • improvement The response of getStatus request has been changed: flag stackTelemetry has been replaced with flag threadProfiling, flag telemetry has been added.
  • improvement The profiler HTTP API has been updated to version v2. We have added reset methods, which reset the profiling results and continue measurements. The HTTP API v1 is deprecated but continues to fully function. If you are using HTTP API v1, please make the corresponding changes.
  • improvement The new com.yourkit.api.controller.v2.Controller is a replacement for the deprecated com.yourkit.api.controller.Controller.

Triggers

  • feature Added new actions StartTelemetry and StopTelemetry to start and stop a telemetry collection, respectively.
  • fix The profiler might crash if the profiled application finishes during the editing of triggers.
  • caveat Action StartAllocationRecording is replaced with StartAllocationProfiling.
  • caveat Action StartAllocationRecordingHeapSampling is replaced with StartAllocationProfilingHeapSampling.
  • caveat Action StopAllocationRecording is replaced with StopAllocationProfiling.

Miscellaneous

  • improvement New verbose option to increase the level of detail in the agent's log file.
  • improvement We slightly changed the format of the agent's log file to make it clearer at what time events occur. Instead of uptime, wall time is now always recorded.
  • improvement The command line interface was simplified by replacing multiple scripts (attach.sh, integrate.sh, export.sh) with a single profiler.sh script that accepts parameters. For example, use profiler.sh -integrate instead of integrate.sh. This streamlines operations and improves usability.
  • improvement Unified naming convention for agent options: Multi-word option names now utilize underscores for separation. Example change: from probetablelengthlimit to probe_table_length_limit. Legacy options remain functional, but users are encouraged to update to the new format.
  • caveat The support of FreeBSD which were deprecated in version 2023.9, have been removed.
  • caveat The command line tool to control profiling, which was deprecated in version 2023.9, has been removed.
  • caveat The following obsolete agent startup options have been removed: builtinprobes=all, builtinprobes=none, probe, noprobe, filters, samplingdelta, samplingperiod, onlylocal, do_advanced_port_check, skip_advanced_port_check, profileruipath, walltimespec, disablej2ee, noj2ee, noperclassgc

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.

  • Trigger actions StartAllocationRecording, StartAllocationRecordingHeapSampling and StopAllocationRecording are deprecated and scheduled for removal. If you use these actions in the configuration files, please replace them with StartAllocationProfiling, StartAllocationProfilingHeapSampling and StopAllocationProfiling accordingly.
  • Trigger actions StartStackTelemetry and StopStackTelemetry are deprecated and scheduled for removal. If you use these actions in the configuration files, please replace them with StartThreadProfiling and StopThreadProfiling accordingly.
  • The HTTP API v1 is deprecated and scheduled for removal. Please switch to HTTP API v2.
  • com.yourkit.api.controller.Controller is deprecated and scheduled for removal.
  • HTTP API end-point /yjp/api/v1/startStackTelemetry has been deprecated. Use /yjp/api/v2/startThreadProfiling.
  • HTTP API end-point /yjp/api/v1/stopStackTelemetry has been deprecated. Use /yjp/api/v2/stopThreadProfiling.
  • Agent startup option disablestacktelemetry is deprecated in favor of new option threads=off.
  • Export option export.charts has been deprecated. Use export.telemetry to export the telemetry.

YourKit uses cookies and other tracking technologies to improve your browsing experience on our website, to show you personalized content, 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.