Diagnose sudden changes in your app telemetry

This feature is in preview.

Diagnose sudden changes in your web app’s performance or usage with a single click! The Smart Diagnostics feature is available whenever you create a time chart in Analytics in Application Insights. Wherever there is an unusual change from the trend of your results, such as a spike or a dip, Smart Diagnostics identifies a pattern of dimensions and related values that might explain the change. This helps you diagnose the problem quickly.

In this example, Smart Diagnostics has identified a pattern of property values associated with the change, and highlights the difference between results with and without that pattern:

example analytics diagnostics result

Diagnose data changes

  1. Run a query in Analytics, and render it as a time chart.
  2. Click any highlighted peak point, if there is one.

    peak point

    Diagnostics takes a few seconds to discover a pattern.

  3. The Diagnostics Results tab shows a pattern which may explain your data discontinuity.

    result

    The text shows the dimension values that appear to correlate with the shift. In this example, it’s associated with a particular request and a particular browser version.

    Notice also the two components of the chart, with the filter true and false. The false component shows an unchanged trend. In other words, there is no change in the telemetry results, if we exclude the problematic combination of dimensions that Diagnostics has identified. By contrast, the results within that combination do show a dramatic change within the highlighted area of investigation. This shows that Diagnostics has found a combination of properties that explains the change.

  4. If the pattern is complex, you need to hover over Show all to see the dimensions.

    show all

  5. In case Diagnostics finds no significant pattern to notify about, the ‘no results’ page will be presented. At this point, you may change your query. For example, you could narrow the time range and binning in Analytics query, for a further analysis and potentially better results.

Armed with the knowledge that a particular page of your website has a problem on a particular browser, you can now go straight to the problem page, and investigate recent changes.

Try the demo

Click here to see a demonstration on sample data.

How it works

Smart Diagnostics uses an advanced unsupervised machine learning algorithm based on the DiffPatterns operation. It looks for candidate patterns that might explain the data change. It analyses the impact of each candidate on the metric, and shows the pattern that best correlates with the change.

No diagnostic points?

Smart Diagnostics only works when the following criteria are satisfied:

  • Smart Diagnostics setting is switched on. Look under the Settings icon in Analytics.
  • The Smart Diagnostics option in Analytics settings is selected.
  • Time axis: The X-axis of the chart must be of type datetime.
  • Line or area chart: Diagnostics only works these types of chart. Use | render timechart or | render areachart at the end of your query; or select Line or Area Chart from the drop-down selector.
  • Discontinuity: There must be a significant discontinuity in the data.
  • Sufficient points to analyze.
  • No more than one summarize clause in the query.
  • No project clause that contains a name definition before the summarize clause.