JetBrains Rider
 
Get JetBrains Rider
Get your hands on the new features ahead of the release by joining the Early Access Program for Rider 2025.1! Learn more

Dynamic Program Analysis (DPA)

Last modified: 26 May 2024

Dynamic Program Analysis (or DPA) is a process that runs in the background of JetBrains Rider and checks your application for various issues related to:

  • Memory allocation  – closures and allocations to large and small object heaps (LOH and SOH).

  • Database usage  – long command execution times, large number of open connections, and others.

  • ASP web applications – long request processing times, large number of open connections, and others.

DPA is started automatically each time you run your solution in JetBrains Rider. The data is collected with almost zero overhead: we have tested DPA on a variety of real solutions getting the slowdown from 0 to 2 percent.

To ease the understanding of DPA, you can think of it as of profiling that is always turned on: You do not need to run a profiler, start a profiling session, and get snapshots. Just work as usual, and all data will be collected in the background when you run your solution.

https://resources.jetbrains.com/help/img/rider/2024.3/dpa_get_started.png
Gif

See Getting started with DPA for more details.