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 Timeline".
- Wait until Attaching to profiler process finishes (a progress bar in the bottom status bar will indicate that Profiling is in progress).
- Perform actions triggering 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
- Launch Rider.
- Call "Help | Diagnostic Tools | Profile Backend with {Timeline}".
- Wait until you see "Profiling in progress: stop it manually" message at the bottom.
- Perform actions which are slow in Rider or trigger high CPU usage (typing, switching between documents, building a project, etc.)
- To stop profiling, call "Help | Diagnostic Tools | Backend: Stop Profiling".
- At the bottom-right corner, you will see a popup indicating a performance snapshot file name and relevant "Show in Explorer" link.
- Share the profiling snapshot with us by uploading it to the Upload Service.
- Once the upload is finished, share the Upload ID in relevant YouTrack issue or support ticket.
Standalone JetBrains dotTrace profiler
These steps are applicable for Windows and MacOS.
- Download and install JetBrains dotTrace. If you don’t have a suitable license, you can use the 30-day free trial.
- After launching dotTrace, go to the Profiling tab and click + in Choose what you want to profile section. Then, select .NET Process in the New Run Configuration dialog and click Next. Keep the default configuration and click Save.
- In the Choose how you want to profile it section, be sure to select the correct Profiling Type: Timeline is the default, but you can also select Sampling or Tracing if you’ve been asked to collect a sampling or tracing snapshot.
To learn about the difference between the profiling types, refer to the dotTrace documentation here.
- If there’s a performance problem during Rider’s startup phase, tick the Collect profiling data from start checkbox.
Make sure to enable this feature if you get a Rider error report during startup,
for example if Rider crashes or lags before the Welcome dialog appears or you see a critical error message before opening any project in Rider.
- Run Rider
Performance issues during startup:
- Once Rider starts, open your solution.
- Wait for the solution to finish loading and for Rider to load all of the caches, ensuring the problem is reproduced.
- Click the Get Snapshot and Wait button in the profiling controller window.
Performance issues in other scenarios:
- Once the Rider starts, open your solution.
- Click the Start button in the profiling controller window when you’re ready to reproduce the problem.
- Perform the actions that lead to the performance issue in Rider, such as typing, switching between documents, and building projects.
- Once the relevant actions have been completed, click the Get Snapshot and Wait button in the profiling controller window.
- The trace will be opened in the dotTrace viewer automatically. If you would like to create a new snapshot without saving the current one, click Drop in the profiling controller window.
- In the dotTrace Viewer, click File | Save Snapshot… in the toolbar and save the resulting snapshot.
- Compress (zip) the snapshot file.
- Use the JetBrains Upload Service to upload the zip package and save the upload ID.
- You can also create a new support ticket or submit a support request via Help | Contact Support in Rider.
In the issue, briefly describe the performance problems you're experiencing, making sure to provide your upload ID. If you already have a corresponding support ticket, please send the upload ID to the relevant support engineer.
Comments
0 comments
Please sign in to leave a comment.