All-in-one performance and memory .NET profiler
YourKit .NET Profiler is an easy-to-use and accurate performance and memory profiler for .NET and .NET Core applications.
It is cross-platform. Profile your .NET applications on Linux, macOS and Windows. Profiler supports x64 and arm64 architectures.
Profile all types of .NET applications, servers and Windows services, locally and remotely.
Investigate performance issues in development, testing and production environments.
Tight integration with Visual Studio and JetBrains Rider
Plugins for Microsoft Visual Studio and JetBrains Rider offer seamless integration with your favorite development environment.
YourKit .NET Profiler utilizes many .NET and Windows 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.
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 Dictionary or a String value.
For each object you can see how much memory it retains, and what happens when particular reference in object graph does not exist. This saves your time, and lets to estimate the expected memory leak fix without changing the code.
CPU flame graph is an efficient way to visualize application performance, which allows to find performance bottlenecks quickly and easily.
Database queries and web requests
Profiler shows slow SQL queries and ASPX requests, to help you find performance bottlenecks.
Popular databases like MongoDB and Cassandra are supported.
Comparing CPU and memory snapshots
Track how changes in the code affect the performance of your application.
YourKit .NET Profiler can compare performance and memory snapshots and export comparison reports in different formats.
20+ comprehensive inspections are waiting to make your code faster and more efficient.
Profiler knows a lot about typical issues in .NET applications and automatically finds them. You can easily find duplicated objects, non-closed database connections, file and sockets. Profiler shows inefficient collections and I/O operations.
Find thread synchronization issues
YourKit .NET Profiler visualizes threads activity. You can easily find blocked threads and understand the reasons.
It is possible to combine thread states with HTTP requests and SQL queries to get the full picture how the requests are processed by your applications.
Telemetry and performance charts
The profiler provides a user-friendly and customizable interface for monitoring CPU, memory, GC activity and other performance data.
Massive exception throwing is a common but often hidden performance problem. YourKit .NET Profiler immediately finds all the places where exception are being thrown.
Profile remote applications
YourKit .NET Profiler is equipped with special tools to enable profiling on remote machines. When you need to profile a remote server, the profiler will help to create an SSH tunnel and connect to the remote application. Remote profiling will be as easy as the local one.
Deobfuscate the code on the fly
YourKit .NET Profiler is able to restores original class, method and field names of applications obfuscated with Dotfuscator.
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 the 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 profiler API allows you to manage profiling modes and capture snapshots right from your .NET 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 and MVP members. There are also special offers for educational and scientific organizations.