{"id":651200,"date":"2025-10-20T14:01:21","date_gmt":"2025-10-20T13:01:21","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=dotnet&#038;p=651200"},"modified":"2025-11-05T14:29:16","modified_gmt":"2025-11-05T13:29:16","slug":"rider-2025-3-asp-dotnet-and-database-issue-monitoring","status":"publish","type":"dotnet","link":"https:\/\/blog.jetbrains.com\/en\/dotnet\/2025\/10\/20\/rider-2025-3-asp-dotnet-and-database-issue-monitoring","title":{"rendered":"Coming to Rider 2025.3: ASP.NET and Database Issue Detection In The Monitoring Tool Window"},"content":{"rendered":"\n<p>In Rider 2025.3, the <em>Monitoring<\/em> tool window has become even more powerful with the addition of database and ASP.NET issue detection. These new capabilities let you track slow queries, inefficient request handling, and other performance bottlenecks in real time \u2013 right alongside CPU, memory, and GC activity.&nbsp;<\/p>\n\n\n\n<p>You can explore these new additions in the Rider 2025.3 EAP 6 build \u2013&nbsp; let&#8217;s take a closer look at what you can expect.<\/p>\n\n\n    <div class=\"buttons\">\n        <div class=\"buttons__row\">\n                                                <a href=\"https:\/\/www.jetbrains.com\/rider\/nextversion\/\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Try it in Rider 2025.3 EAP 6<\/a>\n                                                    <\/div>\n    <\/div>\n\n\n\n\n\n\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">A single home for performance insights<\/h2>\n\n\n\n<p>The <em>Monitoring<\/em> tool window now serves as a central hub for tracking your application\u2019s runtime behavior \u2013 CPU usage, memory allocation, garbage collection, environment variables, and performance issues are all tracked within a single interface.<\/p>\n\n\n\n<p>With the inclusion of Database and ASP.NET issue detection, the tool automatically highlights slow queries, excessive database connections, or long-running MVC actions and Razor handlers. These now appear alongside other runtime insights such as UI freezes, GC pressure, and performance hotspots.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"693\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/10\/image-17.png\" alt=\"\" class=\"wp-image-651487\"\/><\/figure>\n\n\n\n<p>Detected issues appear directly beneath the live performance charts.  Here&#8217;s a list of the types of issues the Monitoring tool is able to automatically detect for your project: <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Database operation issues<\/h4>\n\n\n\n<ul>\n<li>Slow DB command \u2013 Database commands that take longer than the defined threshold.<\/li>\n\n\n\n<li>Excessive DB commands \u2013 Repeated execution of the same command.<\/li>\n\n\n\n<li>Large DB result set \u2013 Queries returning more records than the configured threshold.<\/li>\n\n\n\n<li>Excessive DB connections \u2013 Code that opens too many simultaneous database connections.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">ASP.NET Core application issues<\/h4>\n\n\n\n<ul>\n<li>Slow MVC action \u2013 Controller actions that exceed the configured execution time threshold.<\/li>\n\n\n\n<li>Slow Razor page handler \u2013 Long-running page handler methods such as <code>OnGet<\/code> or <code>OnPost<\/code>.<\/li>\n\n\n\n<li>Slow Razor view component \u2013 Slow <code>Invoke()<\/code> or <code>InvokeAsync()<\/code> methods.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>If you have a dotUltimate or an All Products Pack subscription, these general issue types will be replaced with names of the specific methods responsible. A dotUltimate subscription will also let you investigate each entry further using the bundled dotTrace profiler, allowing you to explore call stacks, query details, and execution times with just a couple clicks.<br>There\u2019s no need to wait until your session ends to see what\u2019s going on. ASP.NET and database issues now appear and update in real time, so you can spot and understand performance bottlenecks as they happen.<\/p>\n\n\n\n<p>You can configure thresholds and manage the inspections by going to <em>Settings\/Preferences | Build, Execution, Deployment | Monitoring | Inspections<\/em>.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Compatibility and availability<\/h2>\n\n\n\n<p>ASP.NET and database issue detection is available on Windows, Linux, and macOS. You can find additional information on supported OSs and application types <a href=\"https:\/\/www.jetbrains.com\/help\/rider\/Program-Monitoring.html\" target=\"_blank\" rel=\"noopener\">in our documentation<\/a>.<\/p>\n\n\n\n<p>If you have<a href=\"https:\/\/www.jetbrains.com\/dotnet\/\" target=\"_blank\" rel=\"noopener\"> a dotUltimate subscription<\/a>, you can take your investigation even further with the bundled dotTrace profiler, which lets you jump straight to the problematic line in your source code.<\/p>\n\n\n\n<p>___________________________________________________________________________<\/p>\n\n\n\n<p>With everything unified in the <em>Monitoring<\/em> tool window, you no longer need to juggle multiple tools or wonder where to look when performance issues arise. Database bottlenecks, ASP.NET inefficiencies, and runtime anomalies are now captured and visualized in one place, giving you the full picture of your application&#8217;s health at a glance.<\/p>\n\n\n\n<p>Ready to try it out? Download Rider 2025.3 EAP 6, start running or debugging your application, and the <em>Monitoring<\/em> tool window will open automatically.&nbsp;<\/p>\n\n\n    <div class=\"buttons\">\n        <div class=\"buttons__row\">\n                                                <a href=\"https:\/\/www.jetbrains.com\/rider\/nextversion\/\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Try it in Rider 2025.3 EAP 6<\/a>\n                                                    <\/div>\n    <\/div>\n\n\n\n\n\n\n\n<p>You\u2019ll be able to troubleshoot performance issues more quickly and intuitively than ever. As always, we&#8217;d love to hear your feedback. Let us know what you think in the comments below!&nbsp;<\/p>\n","protected":false},"author":1337,"featured_media":651511,"comment_status":"closed","ping_status":"closed","template":"","categories":[4992,4140],"tags":[8944,8062,6332,1978],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet\/651200"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/types\/dotnet"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/users\/1337"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/comments?post=651200"}],"version-history":[{"count":6,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet\/651200\/revisions"}],"predecessor-version":[{"id":655933,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/dotnet\/651200\/revisions\/655933"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media\/651511"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media?parent=651200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/categories?post=651200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/tags?post=651200"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/cross-post-tag?post=651200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}