Products
 
 
 
Fully featured low overhead profiler for Java EE
and Java SE platforms.
Easy to use performance and memory profiler for .NET framework.
Supports ASP.NET, Silverlight, .NET Windows services and more.
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 CUSTOMER SUPPORT.

Feedback

Your comments, suggestions and bug reports are welcome. In the forum you can discuss product features with YourKit developers and post bug reports.


Download YourKit Java Profiler 2015 EAP, build 15008 (December 17, 2014)

Version 2015 will be the next release of YourKit Java Profiler. See change list.

You don't need a license key to use EAP build. Just install the build and use it.

Windows (x86, x64) Download and run installer
Mac OS X (Intel) Download and unpack zipped application
Linux
(x86, x64, ARM, ppc, ppc64)
Download tar.bz2 archive
Unpack: tar xfj <archive name>.tar.bz2
Launch bin/yjp.sh
Solaris (SPARC, x86, x64) Download and unpack ZIP archive
Launch bin/yjp.sh
HP-UX (IA64)
AIX (ppc, ppc64)
FreeBSD (x86, x64)

Actually, the ZIP archive is all-in-one: it contains files for all supported platforms, including Windows, Mac OS X, and Linux. However, to ensure easiest installation and best user experience, it is strongly recommended to use a dedicated download option for these platforms instead: Windows bundle provides convenient installer and bundled JRE, Mac OS X - a Mac-style application, Linux - bundled Oracle JRE for x86/x64 which is superior to OpenJDK for UI applications.


Changes in build 15008

  • CPU tracing results now include exact source code line numbers.

    Profiling overhead considerations: according to our tests, line number recording adds almost no extra tracing overhead even in call-intensive applications: the difference is usually less than 5% when CPU tracing is running and almost zero when CPU tracing is not running. That's why CPU tracing records line numbers by default. Nevertheless, you may disable bytecode instrumentation for line number recording by specifying an experimental (may be removed in the future) startup option _tracing_disable_lines (note it starts with underscore).

  • CPU tracing no longer applies user-defined filters in runtime. Instead, the adaptive tracing mode allows to reduce tracing overhead automatically.

    Because CPU tracing was the only profiling mode applying filters in runtime, the filters are now applied in UI only across the profiler and their only purpose now is to improve result presentation. It's no longer needed to re-run profiling to apply the filter change in UI.

  • IBM Java: profiling overhead has been significantly reduced.

    Caveat: as the result, the following profiling capabilities are no longer enabled by default:

    • exception telemetry;
    • local variable names in memory snapshots (stacks and threads are not affected).

    You may return them (as well as associated overhead) by specifying startup options _enable_exception_events and _with_local_vars respectively.

Changes in build 15006

  • CPU tracing: adaptive tracing is much more efficient now: remaining overhead for excluded methods was dramatically reduced
  • CPU profiling: UI: memory footprint of loaded CPU sampling or CPU tracing profiling results has been greatly reduced
  • Memory profiling: UI: actions Memory | Instances by Class... (Ctrl+N) and Memory | Class Itself (java.lang.Class) by Name... (Ctrl+Shift+N) improved: the pattern is now applied as a substring of the full class name, not as strictly a prefix of the class short name. In particular this allows to:
    • open inner classes by short name ("Entry" for "Map$Entry")
    • specify a name part in the middle, not only a starting prefix ("Map" for "HashMap")
    • specify a package ("com.foo.*Wrapper*")
  • Memory profiling: UI: camel hump notation support in filters was improved in "Class list" and "Class loaders" views
  • Agent: bytecode instrumentation optimizations and bug fixes. In particular, the changes solves issues with Groovy classes and classes obfuscated with ProGuard.
  • Probes: built-in probe Processes: added recording of the process identifier (PID)
  • Caveat: although profiling of Java 6 applications remains fully supported, the profiler UI itself now requires Java 7 or newer to run
What's new
August 27, 2014
YourKit Profiler 2014 for .NET released
August 8, 2014
YourKit Java Profiler 2014 released
Awards
JDJ Editors' Choice Award Winner YourKit Java Profiler received the Java Developer's Journal Editors' Choice Award.
Customers