What is Application Insights?

Last Update: 9/26/2016

Application Insights is in Preview.

Visual Studio Application Insights is an extensible analytics service that helps you understand the performance and usage of your live web application. It's designed for developers, to help you continuously improve the performance and usability of your app.

It works with web apps on .NET or J2EE, hosted on-premises or in the cloud. You can also apply it to Windows background services and desktop apps.

It is aimed at the development team. With it, you can:

  • Detect, triage and diagnose performance issues and fix them before most of your users are aware.

    • Alerts on performance changes or crashes.
    • Metrics to help diagnose performance issues, such as response times, CPU usage, dependency tracking.
    • Availability tests for web apps.
    • Exception reports and alerts
    • Powerful diagnostic log search (including log traces from your favorite logging frameworks).
  • Analyze usage patterns to understand your users better and continuously improve your app.

    • Page view counts, new and returning users, geolocation, platforms, and other core usage statistics
    • Trace usage paths to assess the success of each feature.

The SDK for each platform includes a range of modules that monitor the app straight out of the box. In addition, you can code your own telemetry for more detailed and tailored analytics.

Telemetry data collected from your application is stored and analysed in the Azure Portal, where there are intuitive views and powerful tools for fast diagnosis and analysis.

Chart user activity statistics, or drill into specific events.

You can also pull your telemetry into Power BI dashboards so as to correlate data from your web app with related business data or telemetry from client devices.

Platforms and languages

There are SDKs for a range of platforms. Currently the list includes:

Application Insights can also get telemetry from existing ASP.NET web apps on IIS without rebuilding them.

How it works

You install a small SDK in your application, and set up an account in the Application Insights portal. The SDK monitors your app and sends telemetry data to the portal. The portal shows you statistical charts and provides powerful search tools to help you diagnose any problems.

The Application Insights SDK in your app sends telemetry to your Application Insights resource in the Azure portal.

The SDK has several modules which collect telemetry, for example to count users, sessions, and performance. You can also write your own custom code to send telemetry data to the portal. Custom telemetry is particularly useful to trace user stories: you can count events such as button clicks, achievement of particular goals, or user mistakes.

For ASP.NET servers and Azure web apps, you can also install Status Monitor, which has two uses. It lets you:

  • Monitor a web app without re-building or re-installing it.
  • Track calls to dependent modules.

What's the overhead?

The impact on your performance is very small. Tracking calls are non-blocking, and are batched and sent in a separate thread.

Get started

Support and feedback