ApplicationInsights-dotnet/docs/migration
..
Readme.md
guide_aspnet.md
guide_aspnetcore.md
scenario_manual.md
scenario_onboarding.md
scenarios_todo.md

Readme.md

Migration to OpenTelemetry

TODO: TABLE OF CONTENTS. saving this for last because this guide is still changing

  • Introduction (link)
  • Scenarios
    • Onboarding (link)
    • Manually Sending Telemetry (link)
    • TODO
    • TODO
    • TODO

Introduction

OpenTelemetry .NET, along with the Azure Monitor Exporter is the current recommendation for sending any telemetry to Application Insights from .NET applications. This solution is GAed, and is fully supported.

Microsoft is excited to embrace OpenTelemetry as the future of telemetry instrumentation. You, our customers, asked for vendor-neutral instrumentation, and we're pleased to partner with the OpenTelemetry community to create consistent APIs and SDKs across languages.

NOTE: The Azure Monitor .NET Exporter does not yet have full feature parity with the classic Application Insights SDK. See our feature matrix here: https://learn.microsoft.com/en-us/azure/azure-monitor/app/opentelemetry-enable?tabs=aspnetcore#whats-the-current-release-state-of-features-within-the-azure-monitor-opentelemetry-distro

Who is this document for

This document is for you if you are

  • Currently using any Microsoft.ApplicationInsights.* package to send telemetry to Application Insights.
  • and planning to migrate to OpenTelemetry

Terminology

  • OpenTelemetry is an Observability framework and toolkit designed to create and manage telemetry data such as traces, metrics, and logs. Crucially, OpenTelemetry is vendor- and tool-agnostic, meaning that it can be used with a broad variety of Observability backends, including open source tools like Jaeger and Prometheus, as well as commercial offerings. OpenTelemetry is not an observability backend like Jaeger, Prometheus, or other commercial vendors. OpenTelemetry is focused on the generation, collection, management, and export of telemetry. A major goal of OpenTelemetry is that you can easily instrument your applications or systems, no matter their language, infrastructure, or runtime environment. Crucially, the storage and visualization of telemetry is intentionally left to other tools. https://opentelemetry.io/docs/what-is-opentelemetry/

  • Application Insights, a feature of Azure Monitor, excels in Application Performance Management (APM) for live web applications. https://learn.microsoft.com/azure/azure-monitor/app/app-insights-overview

  • Azure Monitor is a comprehensive monitoring solution for collecting, analyzing, and responding to monitoring data from your cloud and on-premises environments. You can use Azure Monitor to maximize the availability and performance of your applications and services. It helps you understand how your applications are performing and allows you to manually and programmatically respond to system events. https://learn.microsoft.com/azure/azure-monitor/overview

  • TODO: explain what is AzureMonitorExporter?

  • TODO: explain what is Distro?

Next Steps