Today we’re taking performance analytics in Visual Studio Application Insights to the next level. Proactive Detection is a new feature that automatically detects abnormal patterns in your Application Insights telemetry. There’s no setup or configuration. If your application sends enough telemetry, it will automatically be analyzed every day.
For example, if your app loads slowly on some OS versions, or has slower responses in particular geographical location, you’ll get an email about it. Proactive Detection uses machine learning and data mining to help you find issues that would be hard to detect – and are often only discovered when customers complain.
Here’s an example of an email you might get:
Problems like this are more common than you might think, and they often surface only when customers complain. By that time, it’s too late: they are already switching to your competitors, or even worse, writing bad reviews!
No configuration required
If your application sends enough performance telemetry to Application Insights, Proactive Detection automatically analyzes it every day. If it detects abnormal performances in your application, it will notify you. You don’t have to enable it or set any thresholds or rules.
Currently, Proactive Detection analyzes page view load times, request response times on the server (collected using Application Insights SDK or Status Monitor) and dependency response times (with more to come).
You can use the Settings in Proactive Detection blade to configure the email recipients list, which defaults to the resource administrators.
Because of the volume requirement, you probably won’t see Proactive Detection if your service/app has low traffic, you’re debugging in development, or if it performs really well across the board.
Investigate problems found by Proactive Detection
It’s easy to get from the notification to the relevant reports and events in Application Insights because they’re filtered on the properties that define the problem.
From the email (or the service overview blade), open the Proactive Detection blade in the Azure portal.
From there, click through each notification to get relevant charts to help you triage and diagnose the issue. For example, from a notification about slow page load, you can get to page load metrics or individual events. They will be filtered to the properties that define the problem (geographic location, OS version, etc.).
Here are some examples of issues that Proactive Detection can help you to detect:
- Browser version that your web application has slower page load time on – might indicate some of the features you have don’t perform as expected on this browser version.
- Actions in your application take too long to execute what impacts users experience.
- Page takes much longer to load than other pages on your website – might be caused by too much content loaded on that specific page.
Proactive Detection introduces a new proactive and automated way to detect problems in your application. We’re eager to hear your feedback, so please let us know how Proactive Detection helps you, how we can improve it or what additional capabilities you want us to add. You can provide feedback in the comments section below or through our team email: AppInsightsML@microsoft.com.