What is autoinstrumentation for Azure Monitor Application Insights?
Autoinstrumentation enables Application Insights to make telemetry like metrics, requests, and dependencies available in your Application Insights resource. It provides easy access to experiences such as the application dashboard and application map.
The term "autoinstrumentation" is a portmanteau, a linguistic blend where parts of multiple words combine into a new word. "Autoinstrumentation" combines "auto" and "instrumentation." It sees widespread use in software observability and describes the process of adding instrumentation code to applications without manual coding by developers.
The autoinstrumentation process varies by language and platform, but often involves a toggle button in the Azure portal. The following example shows a toggle button for Azure App Service autoinstrumentation.
Tip
We do not provide autoinstrumentation specifics for all languages and platforms in this article. For detailed information, select the corresponding link in the Supported environments, languages, and resource providers table. In many cases, autoinstrumentation is enabled by default.
What are the autoinstrumentation advantages?
- Code changes aren't required.
- Access to source code isn't required.
- Configuration changes aren't required.
- Instrumentation maintenance is eliminated.
Supported environments, languages, and resource providers
The following table shows the current state of autoinstrumentation availability.
Links are provided to more information for each supported scenario.
Note
If your hosting environment or resource provider is not listed in the following table, then autoinstrumentation is not supported. In this case, we recommend manually instrumenting using the Azure Monitor OpenTelemetry Distro. For more information, see Data Collection Basics of Azure Monitor Application Insights.
Environment/Resource provider | .NET Framework | .NET Core / .NET | Java | Node.js | Python |
---|---|---|---|---|---|
Azure App Service on Windows - Publish as Code | ✅ 🔗 ¹ | ✅ 🔗 ¹ | ✅ 🔗 ¹ | ✅ 🔗 ¹ | ❌ |
Azure App Service on Windows - Publish as Docker | ✅ 🔗 ² | ✅ 🔗 ² | ✅ 🔗 ² | ✅ 🔗 ² | ❌ |
Azure App Service on Linux - Publish as Code | ❌ | ✅ 🔗 ¹ | ✅ 🔗 ¹ | ✅ 🔗 ¹ | ✅ 🔗 ² |
Azure App Service on Linux - Publish as Docker | ❌ | ✅ 🔗 | ✅ 🔗 | ✅ 🔗 | ❌ |
Azure Functions - basic | ✅ 🔗 ¹ | ✅ 🔗 ¹ | ✅ 🔗 ¹ | ✅ 🔗 ¹ | ✅ 🔗 ¹ |
Azure Functions - dependencies | ❌ | ❌ | ✅ 🔗 | ❌ | ❌ |
Azure Spring Apps | ❌ | ❌ | ✅ 🔗 | ❌ | ❌ |
Azure Kubernetes Service (AKS) | ❌ | ❌ | ✅ 🔗 | ❌ | ❌ |
Azure VMs Windows | ✅ 🔗 ² ³ | ✅ 🔗 ² ³ | ✅ 🔗 | ❌ | ❌ |
On-premises VMs Windows | ✅ 🔗 ³ | ✅ 🔗 ² ³ | ✅ 🔗 | ❌ | ❌ |
Standalone agent - any environment | ❌ | ❌ | ✅ 🔗 | ❌ | ❌ |
Footnotes
- ¹: Application Insights is on by default and enabled automatically.
- ²: This feature is in public preview. See Supplemental Terms of Use for Microsoft Azure Previews.
- ³: An agent must be deployed and configured.
Note
Autoinstrumentation was known as "codeless attach" before October 2021.
Frequently asked questions
Should the term "autoinstrumentation" be hyphenated?
We follow the Microsoft Style Guide for product documentation published to the Microsoft Learn platform.
In general, we don’t include a hyphen after the "auto" prefix.