Rider Profiling Instructions (.NET process)
NB! This article covers only .NET Rider process. For Java process (JetBrains Rider) related issues refer to this article.
MacOS and Linux:
In case you see that Rider slows down on your Mac, and/or dotnet CPU usage spikes up to 100%, please take the following steps:
- Call the action "Help | Diagnostic tools | Profile Backend with Sampling".
- Wait until Attaching to profiler process finishes (a progress bar in the bottom status bar will indicate about it and you will see that Profiling is in progress).
- Perform the actions leading to high CPU usage.
- Wait for a minute and then stop profiling with the action "Help | Diagnostic tools | Backend: stop profiling".
- In the bottom right corner you will see a notification popup that a snapshot has been captured and a link to the snapshot file. Collect this snapshot.
- Create a new issue in the Rider issue tracker. In the issue, provide a short description of the performance problems you're experiencing, share the collected snapshot via uploads.jetbrains.com service, and let us know the exact ID of your upload.
Windows:
Embedded profiler
- Start Rider;
- Call "Help -> Diagnostic Tools -> Profile Backend with Timeline | Sampling or Capture Backend Memory Snapshot" if your Rider version is 2020.1+ and Tools -> Backend Profiling -> Start Sampling | Timeline or Dump Memory if you use Rider2019.3 and older version;
- Wait until you see "Profiling in progress: stop it manually" message at the bottom;
- Perform actions which are slow in Rider (typing, switching between documents, building, etc.);
- To stop profiling, call "Diagnostic Tools -> Backend: Stop Profiling";
- At the bottom-right corner, you will get a popup with a performance snapshot file name and "Show in Explorer" link to open a folder;
- Share the file with us, some ways are mentioned here;
- Create a new issue in the Rider issue tracker. In the issue, provide a short description of the performance problems you're experiencing, and specify the name of your snapshot.
Standalone JetBrains dotTrace profiler
- Download and install JetBrains dotTrace profiler:
- as a web installer
- as a part of full/offline dotUltimate Installer
- Start dotTrace and select Profile Local App | .NET Process.
- Make sure the following options are set in Profiler Options:
- Profiling type: Timeline (or Sampling, or Tracing if you has been asked to collect a Sampling or a Tracing snapshot respectively)
- Start immediately: on (if you're experiencing performance problems on Rider startup or during solution loading) or off otherwise
- Click Run
- Run Rider
- If there's a performance problem during startup:
- Wait while Rider starts, open your solution;
- Wait until the solution is loaded and Rider finishes loading caches;
- Click Get Snapshot'n'Wait button in the profiling controller window;
- Otherwise:
- Wait while Rider starts, open your solution
- Click Start button in the profiling controller window
- Perform actions which are slow in Rider (typing, switching between documents, building, etc.)
- Click Get Snapshot'n'Wait button in the profiling controller window
- If you would like to create a new snapshot without saving the current one, click Drop in the profiling controller window
- In dotTrace Performance Viewer, save the resulting snapshot using the File | Export Snapshot... menu
- Compress the snapshot file using Zip
- Share the file with us, some ways are mentioned here
- Create a new issue in Rider issue tracker. In the issue, provide a short description of the performance problems you're experiencing, and specify the name of your snapshot.
Please sign in to leave a comment.
I'm having problems with the Embedded Profiler after Step #2 - i.e. nothing happens when I click Start Sampling or Start Timeline, there is no message at the bottom of the IDE. Another colleague has the same problem. Thanks.
Rider 2017.1.2
Build #RD-171.4456.3568, built on September 15, 2017
You have a perpetual fallback license for this version
Subscription is active until September 10, 2018
JRE: 1.8.0_112-release-736-b22 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 7 6.1
Linux and Rider 2021.1.2
* There is no 'Create Backend Thread Dumps", there is 'Collect Backend Thread Dumps" instead
* After click this menu I got error: "LLDB not available at /usr/lib/llvm-3.9/bin/lldb". It would be better to mention in article If I had to install some prerequisites .
* Why 3.9 ? It's already five years old.
Hi Konstantin,
Thank you for pointing us to this issue.
I fixed the article. Now to diagnose CPU performance issues for dotnet Rider process there is an action `Help | Diagnostic tools | Profile Backend with Sampling`.