Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


Microsoft Application Insights for .NET Web Applications

Subscribe to updates I use ApplicationInsights-dotnet-server

Statistics on ApplicationInsights-dotnet-server

Number of watchers on Github 71
Number of open issues 107
Average time to close an issue 8 days
Main language C#
Average time to merge a PR 1 day
Open pull requests 14+
Closed pull requests 17+
Last commit over 1 year ago
Repo Created almost 4 years ago
Repo Last Updated over 1 year ago
Size 55.3 MB
Homepage https://azure.mic...
Organization / Authormicrosoft
Latest Releasev2.5.1
Page Updated
Do you use ApplicationInsights-dotnet-server? Leave a review!
View open issues (107)
View ApplicationInsights-dotnet-server activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating ApplicationInsights-dotnet-server for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Build Status

NuGet packages

Visual Studio Application Insights SDK for .NET Web Applications

The code in this repository is the .NET web application SDK for Application Insights. Application Insights is a service that lets you monitor your live application's performance and usage. This SDK sends telemetry to the service. It collects data such as web request timings and success rates, dependency calls, exceptions, and server performance counters. You can also use the SDK to send your own telemetry and add modules to collect logs. You can use this SDK in any .NET web application, hosted either on your own servers or on Microsoft Azure.

Get the SDK

The SDK is installed on each project by the Application Insights tools in Visual Studio (2013 and later).

To add Application Insights to your project in Visual Studio:

  • If you're creating a new project, check Add Application Insights in the New Project dialog.
  • If it's an existing project, right-click your project in Solution Explorer and select Add Application Insights or Update Application Insights.
  • If these options aren't available for your project type, use Extension Manager in Visual Studio to install or update the NuGet package. Create a new Application Insights resource in the Azure portal, obtain its instrumentation key, and insert that in ApplicationInsights.config.

Run your project, and then open your Application Insights resource in the Azure Preview Portal and look for events.

To upgrade to the latest SDK

  • After you upgrade, you'll need to merge back any customizations you made to ApplicationInsights.config. If you're unsure whether you customized it, create a new project, add Application Insights to it, and compare your .config file with the one in the new project. Make a note of any differences.
  • In Solution Explorer, right-click your project and choose Manage NuGet packages.
  • Set the filter to show Updates.
  • Select Microsoft.ApplicationInsights.Web and choose Update. (This will also upgrade all the dependent packages.)
  • Compare ApplicationInsights.config with the old copy. Most of the changes you'll see are because we removed some modules and made others parameterizable. Reinstate any customizations you made to the old file.
  • Rebuild your solution.

To build

Follow contributor's guide


  • master contains the latest published release located on NuGet.
  • develop contains the code for the next release.

Shared Projects

Our projects target multiple frameworks (ex: Net45 & NetCore). We have framework specific projects and a shared project for common files between them. (ex: Perf.Net45, Perf.NetCore, Perf.Shared). If a file is used by both frameworks, we prefer to store that file in a Shared project and use preprocessor directives to separate framework specific code (ex: #if NETCORE, #if !NETCORE). We also use a conditional ItemGroup to assign files to a framework (ex: ItemGroup Condition=" '$(TargetFramework)' != 'netcoreapp1.0' ").

We've found that this makes our projects easier to maintain because it keeps Framework assignments in a single project. As an added bonus our Framework specific projects can include a single Shared project instead of individual files, which keeps our project files neat and clean.


We strongly welcome and encourage contributions to this project. Please read the contributor's guide. If making a large change we request that you open an issue first. If we agree that an issue is a bug, we'll add the bug label, and issues that we plan to fix are labeled with an iteration number. We follow the Git Flow approach to branching.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.

ApplicationInsights-dotnet-server open issues Ask a question     (View All Issues)
  • almost 3 years Collect percentage performance counters correctly
  • almost 3 years InvalidCastException in Web App Counters reading logic
  • almost 3 years Missing Service Bus dependency telemetry
  • almost 3 years Quick Pulse and AIF- instrumentation key
  • almost 3 years Application crash in PerformanceCollectorModule with high CPU utilization.
  • almost 3 years 2.2 Beta Sdks are overzealously truncating http dependency names
  • almost 3 years QuickPulse doesn't work if ikey is not send on configuration level.
  • almost 3 years Allow to opt out certain domains from setting the correlation header
  • almost 3 years Do not produce dependency items for the quick pulse calls
  • almost 3 years SQL/Stored Procedure - Parameters and Values
  • almost 3 years Minimize the impact of SDK on the application template
  • almost 3 years Mark GTMProbe as synthetic
  • almost 3 years Make Web SDK work better with Url Rewrite module
  • almost 3 years Make better names for Web API attributes based routing
  • almost 3 years REST API app can have all requests filtered out
  • almost 3 years RoleInstance for Cloud Services sometimes populated with RoleName_IN_0 and sometimes with RD003FF...
  • almost 3 years Servers View shows aggregate across PROD and STAGE role instances
  • almost 3 years Investigate perf overhead change from 2.1 to 2.2-beta2 for web SDK
  • almost 3 years Support decoration of methods with more that 6 parameters
  • almost 3 years Collector causing w3wp crashes on Windows Server 2012 R2
  • almost 3 years Switch to the NuGet 3 in NuGet.config
  • almost 3 years Write better documentation on self-host aps onboarding to AI using WindowsServer NuGet
  • almost 3 years App Instrumented w/ AI suddenly throwing a 'Method not found' exception
  • almost 3 years CPU counter should account for the number of processors
  • almost 3 years Can we configure CollectionPeriod using ApplicationInsights.Config
  • almost 3 years Exceptions thrown when debugging
  • almost 3 years Recognize DocumentDB out of the box
  • almost 3 years Update/Re-install does not bring applicationinsights.config
  • about 3 years Correlate async dependencies with requests
  • about 3 years SQL Dependency duration recorded incorrectly
ApplicationInsights-dotnet-server open pull requests (View All Pulls)
  • Collect Sql error message (profiler only)
  • QuickPulse - live failures
  • Functional tests for QuickPulse
  • Revert "Only add the cross component correlation key if the key does not rema…"
  • Top processes by CPU for QuickPulse
  • Add HostingStartup nuget package that is used in Extension and StatusMonitor
  • For first few calls when appId is not fetched, trying to get a cross …
  • QuickPulse sends nested Metrics along with full telemetry documents.
  • Add Access-Control-Expose-Headers and remove roleName from correlation
  • Add Azure Instance Metada properties to heartbeat
  • Library instrumentation guidance
  • Nuget packaging fixups
  • Enable .NET Core in WindowsServer SDK
  • add fxcop analyzer (help needed)
ApplicationInsights-dotnet-server list of languages used
Other projects in C#