Application Insights overview

Azure Monitor Application Insights, a feature of Azure Monitor, excels in Application Performance Management (APM) for live web applications.

A screenshot of the Azure Monitor Application Insights user interface displaying an application map.

Experiences

Application Insights provides many experiences to enhance the performance, reliability, and quality of your applications.

Investigate

  • Application dashboard: An at-a-glance assessment of your application's health and performance.
  • Application map: A visual overview of application architecture and components' interactions.
  • Live metrics: A real-time analytics dashboard for insight into application activity and performance.
  • Transaction search: Trace and diagnose transactions to identify issues and optimize performance.
  • Availability view: Proactively monitor and test the availability and responsiveness of application endpoints.
  • Failures view: Identify and analyze failures in your application to minimize downtime.
  • Performance view: Review application performance metrics and potential bottlenecks.

Monitoring

  • Alerts: Monitor a wide range of aspects of your application and trigger various actions.
  • Metrics: Dive deep into metrics data to understand usage patterns and trends.
  • Diagnostic settings: Configure streaming export of platform logs and metrics to the destination of your choice.
  • Logs: Retrieve, consolidate, and analyze all data collected into Azure Monitoring Logs.
  • Workbooks: Create interactive reports and dashboards that visualize application monitoring data.

Usage

  • Users, sessions, and events: Determine when, where, and how users interact with your web app.
  • Funnels: Analyze conversion rates to identify where users progress or drop off in the funnel.
  • Flows: Visualize user paths on your site to identify high engagement areas and exit points.
  • Cohorts: Group users by shared characteristics to simplify trend identification, segmentation, and performance troubleshooting.

Code analysis

  • Profiler: Capture, identify, and view performance traces for your application.
  • Code optimizations: Harness AI to create better and more efficient applications.
  • Snapshot debugger: Automatically collect debug snapshots when exceptions occur in .NET application

Logic model

The logic model diagram visualizes components of Application Insights and how they interact.

Diagram that shows the path of data as it flows through the layers of the Application Insights service.

Note

Firewall settings must be adjusted for data to reach ingestion endpoints. For more information, see IP addresses used by Azure Monitor.


Supported languages

This section outlines supported scenarios.

For detailed information about instrumenting applications to enable Application Insights, see data collection basics.

Automatic instrumentation (enable without code changes)

Manual instrumentation

OpenTelemetry Distro

Application Insights SDK (Classic API)

Client-side JavaScript SDK

Supported platforms and frameworks

This section lists all supported platforms and frameworks.

Azure service integration (portal enablement, Azure Resource Manager deployments)

Logging frameworks

Export and data analysis

Unsupported SDKs

Many community-supported Application Insights SDKs exist. Azure Monitor only provides support when you use the supported instrumentation options listed in this article.

We're constantly assessing opportunities to expand our support for other languages. For the latest news, see Azure updates for Application Insights.


Frequently asked questions

This section provides answers to common questions.

How do I instrument an application?

For detailed information about instrumenting applications to enable Application Insights, see data collection basics.

How do I use Application Insights?

After enabling Application Insights by instrumenting an application, we suggest first checking out Live metrics and the Application map.

What telemetry does Application Insights collect?

From server web apps:

  • HTTP requests.
  • Dependencies. Calls to SQL databases, HTTP calls to external services, Azure Cosmos DB, Azure Table Storage, Azure Blob Storage, and Azure Queue Storage.
  • Exceptions and stack traces.
  • Performance counters: Performance counters are available when using:

From client webpages:

  • Uncaught exceptions in your app, including information on

    • Stack trace
    • Exception details and message accompanying the error
    • Line & column number of error
    • URL where error was raised
  • Network Dependency Requests made by your app XHR and Fetch (fetch collection is disabled by default) requests, include information on:

    • Url of dependency source
    • Command & Method used to request the dependency
    • Duration of the request
    • Result code and success status of the request
    • ID (if any) of user making the request
    • Correlation context (if any) where request is made
  • User information (for example, Location, network, IP)

  • Device information (for example, Browser, OS, version, language, model)

  • Session information

    Note

    For some applications, such as single-page applications (SPAs), the duration may not be recorded and will default to 0.

    For more information, see Data collection, retention, and storage in Application Insights.

From other sources, if you configure them:

How many Application Insights resources should I deploy?

To understand the number of Application Insights resources required to cover your application or components across environments, see the Application Insights deployment planning guide.

How can I manage Application Insights resources with PowerShell?

You can write PowerShell scripts by using Azure Resource Monitor to:

  • Create and update Application Insights resources.
  • Set the pricing plan.
  • Get the instrumentation key.
  • Add a metric alert.
  • Add an availability test.

You can't set up a metrics explorer report or set up continuous export.

How can I query Application Insights telemetry?

Use the REST API to run Log Analytics queries.

Can I send telemetry to the Application Insights portal?

We recommend that you use our SDKs and use the SDK API. There are variants of the SDK for various platforms. These SDKs handle processes like buffering, compression, throttling, and retries. However, the ingestion schema and endpoint protocol are public.

How long does it take for telemetry to be collected?

Most Application Insights data has a latency of under 5 minutes. Some data can take longer, which is typical for larger log files. See the Application Insights service-level agreement.

How does Application Insights handle data collection, retention, storage, and privacy?

Collection

Application Insights collects telemetry about your app, including web server telemetry, web page telemetry, and performance counters. This data can be used to monitor your app's performance, health, and usage. You can select the location when you create a new Application Insights resource.

Retention and Storage

Data is sent to an Application Insights Log Analytics workspace. You can choose the retention period for raw data, from 30 to 730 days. Aggregated data is retained for 90 days, and debug snapshots are retained for 15 days.

Privacy

Application Insights doesn't handle sensitive data by default, as long as you don't put sensitive data in URLs as plain text and ensure your custom code doesn't collect personal or other sensitive details. During development and testing, check the sent data in your IDE and browser's debugging output windows.

For archived information on this topic, see Data collection, retention, and storage in Application Insights.

Help and support

Azure technical support

For Azure support issues, open an Azure support ticket.

Microsoft Q&A questions forum

Post general questions to the Microsoft Q&A answers forum.

Stack Overflow

Post coding questions to Stack Overflow by using an azure-application-insights tag.

Feedback Community

Leave product feedback for the engineering team in the Feedback Community.

Troubleshooting

Review dedicated troubleshooting articles for Application Insights.

Next steps