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.

YourKit Java Profiler features

Award-winning Java profiler

CPU and memory Java profiling has never been easier and smarter at the same time. YourKit has developed a revolutionary way to profile Java applications at both development and production stages, bringing unparalleled benefits to Java developers.

Ready for your tasks

Profile all types of Java applications and servers, on multiple platforms, locally and remotely. Investigate performance issues in development, testing, and production environments.

Tight integration with your IDE

Plugins for Eclipse, IntelliJ IDEA and NetBeans IDEs offer one-click profiling of all kinds of Java applications, as well as smart navigation from profiling results to source code.

IDE list

Profile remote applications

Profiling a remote application is as easy as the local one. When you need to profile a remote server, the profiler will configure everything.

To start remote profiling, you only need SSH access.

Profile remote app

CPU profiling

YourKit Java Profiler utilizes many JVM and OS features to obtain information about methods and times with the minimum overhead. CPU profiles can be visualized as call trees or lists of hot spots.

Smart what if feature allows you to evaluate performance gains of the supposed optimizations without re-profiling the application.

CPU call tree

Flame graphs

CPU flame graph is an efficient way to visualize application performance, which allows to find performance bottlenecks quickly and easily.

CPU flame graph

Database queries and web requests

Profiler shows slow SQL queries and web requests, to help you find performance bottlenecks.

Popular databases like MongoDB, Cassandra, and HBase are supported.

Probes

Memory profiling

Profiler visualizes object heap and allows traversing of object graph in any direction. Objects properties are visualized in convenient form. Profiler chooses the best way to show you a content of a HashMap or a String value.

For each object, you can see how much memory it retains, and what happens when a particular reference in the object graph does not exist. This saves your time and lets to estimate the expected memory leak fix without changing the code.

Memory profiling

Comparing CPU and memory snapshots

Track how changes in the code affect the performance of your application.

YourKit Java Profiler can compare performance and memory snapshots and export comparison reports in different formats.

Snapshot comparison

Performance inspections

40+ comprehensive inspections are waiting to make your code faster and more efficient.

Profiler knows a lot about typical issues in Java applications and automatically finds them. You can easily find leaked webapps, duplicated objects, non-closed SQL statements and streams. Profiler shows inefficient collections and I/O operations.

Inspections

Find thread synchronization issues

YourKit Java Profiler visualizes threads activity. You can easily find blocked threads and understand the reasons.

In the event of a deadlock, the profiler will immediately display a warning and provide information about the blocked threads and involved monitors.

It is possible to combine thread states with HTTP requests and SQL queries to get the full picture of how the requests are processed by your applications.

Threads

Telemetry and performance charts

The profiler provides a user-friendly and customizable interface for monitoring CPU, memory, GC activity and other performance data.

Performance charts

Exception profiling

Massive exception throwing is a common but often hidden performance problem. YourKit Java Profiler immediately finds all the places where exceptions are being thrown.

Exceptions

Deobfuscate the code on the fly

YourKit Java Profiler is able to restore original class, method and field names of applications obfuscated with ProGuard, yGuard, Zelix KlassMaster, Allatori, and other popular Java obfuscators. If you are developing a Minecraft mod, just give the profiler your MCP mapping file, and it will show the original names.

You control the overhead

You have full control over the profiling overhead. The profiler provides a fine-grained set of options to precisely regulate the amount of data you want to collect. The profiling overhead can be so low that you will be able to profile your application in production.

Export to external formats and open API

The profiling results can be exported to numerous formats. You can share the results with colleagues by email, publish them on the web and analysis in third-party applications.

The extensible API allows you to create your own probes and gather application-specific data. You can manage profiling modes, capture snapshots and analyze them right from your Java code.

Command line interface

Command line tools allow to perform many profiling tasks without using the UI. Integrate the profiler into a continuous integration process and automate performance monitoring.

Affordable, permissive licensing

Flexible licensing options allow to select the best license for development teams of any size.

We highly appreciate the open source community and offer free licenses for non-commercial open source projects. There are also special offers for educational and scientific organizations.

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.