Microsoft.OpenTelemetry 1.0.0-alpha.2

Prefix Reserved
This is a prerelease version of Microsoft.OpenTelemetry.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Microsoft.OpenTelemetry --version 1.0.0-alpha.2
                    
NuGet\Install-Package Microsoft.OpenTelemetry -Version 1.0.0-alpha.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Microsoft.OpenTelemetry" Version="1.0.0-alpha.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Microsoft.OpenTelemetry" Version="1.0.0-alpha.2" />
                    
Directory.Packages.props
<PackageReference Include="Microsoft.OpenTelemetry" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Microsoft.OpenTelemetry --version 1.0.0-alpha.2
                    
#r "nuget: Microsoft.OpenTelemetry, 1.0.0-alpha.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Microsoft.OpenTelemetry@1.0.0-alpha.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Microsoft.OpenTelemetry&version=1.0.0-alpha.2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Microsoft.OpenTelemetry&version=1.0.0-alpha.2&prerelease
                    
Install as a Cake Tool

Microsoft.OpenTelemetry

A unified OpenTelemetry distribution for .NET that provides one-line onboarding for ASP.NET Core, AI agent workloads, and Microsoft Agent Framework apps.

Quick Start

var builder = WebApplication.CreateBuilder(args);

builder.UseMicrosoftOpenTelemetry(o =>
{
    o.AzureMonitor.ConnectionString = "InstrumentationKey=...";
});

var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();

Features

Instrumentation (always active)

  • ASP.NET Core — incoming HTTP requests
  • HTTP Client — outbound HTTP calls (with Azure SDK dedup filter)
  • SQL Client — database queries
  • Resource Detection — Azure App Service, VM, Container Apps
  • Agent365 ScopesInvokeAgentScope, InferenceScope, ExecuteToolScope, OutputScope
  • Agent365 Baggage — per-request context propagation (tenant, agent, session)
  • Microsoft Agent Framework — captures Experimental.Microsoft.Agents.AI activity sources
  • Azure SDK Log Forwarding — bridges Azure SDK EventSource logs to ILogger
  • MetricsMicrosoft.AspNetCore.Hosting, System.Net.Http

Exporters (customer selects)

builder.UseMicrosoftOpenTelemetry(o =>
{
    // Select exporters explicitly
    o.Exporters = ExportTarget.AzureMonitor | ExportTarget.Agent365 | ExportTarget.Otlp;

    // Azure Monitor
    o.AzureMonitor.ConnectionString = "...";

    // Agent365
    o.Agent365.Exporter.TokenResolver = (agentId, tenantId) => GetTokenAsync(agentId, tenantId);
    o.Agent365.WithSemanticKernel().WithOpenAI();

    // OTLP (Aspire Dashboard, Jaeger, Grafana)
    o.OtlpEndpoint = new Uri("http://localhost:4317");
});

Exporters auto-detect when not explicitly set:

  • Azure Monitor — enabled when ConnectionString is set (code, env var APPLICATIONINSIGHTS_CONNECTION_STRING, or IConfiguration)
  • Agent365 — enabled when TokenResolver is set
  • OTLP — enabled when OtlpEndpoint is set

Agent365 Extensions (opt-in)

o.Agent365.WithSemanticKernel();       // Semantic Kernel tracing
o.Agent365.WithAgentFramework();       // Agent Framework span processor
o.Agent365.WithOpenAI();               // Azure OpenAI SDK tracing

Alternative Entry Points

On IOpenTelemetryBuilder (chainable)

builder.Services.AddOpenTelemetry()
    .UseMicrosoftOpenTelemetry(o => { ... });

Individual (composable)

builder.Services.AddOpenTelemetry()
    .UseAzureMonitor(o => o.ConnectionString = "...")
    .UseAgent365(o => o.WithSemanticKernel())
    .UseAgentFramework();

Project Structure

src/Microsoft.OpenTelemetry/
├── AzureMonitor/           — Azure Monitor distro (instrumentation + exporter)
├── Agent365/               — Agent365 observability (scopes, baggage, exporter, extensions)
├── AgentFramework/         — Microsoft Agent Framework span capture
├── MicrosoftOpenTelemetryBuilderExtensions.cs  — Unified entry point
├── MicrosoftOpenTelemetryOptions.cs            — Unified options
├── ExportTarget.cs                              — Exporter selection enum
└── Agent365Options.cs / Agent365OpenTelemetryBuilderExtensions.cs

test/
├── Microsoft.OpenTelemetry.AzureMonitor.Tests/  — Azure Monitor tests
└── Microsoft.OpenTelemetry.Agent365.Tests/      — Agent365 tests

examples/
└── Azure.Monitor.OpenTelemetry.AspNetCore.Demo/ — Demo app

Build & Test

dotnet build src/Microsoft.OpenTelemetry.slnx
dotnet test src/Microsoft.OpenTelemetry.slnx

Packages

Package Version
OpenTelemetry 1.15.1
Azure.Monitor.OpenTelemetry.Exporter 1.7.0
OpenTelemetry.Instrumentation.AspNetCore 1.15.1
OpenTelemetry.Instrumentation.Http 1.15.0
OpenTelemetry.Instrumentation.SqlClient 1.15.1
Microsoft.SemanticKernel 1.71.0
Azure.AI.OpenAI 2.7.0-beta.2

Microsoft Open Source Code of Conduct

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

Data Collection

As this SDK is designed to enable applications to perform data collection which is sent to the Microsoft collection endpoints the following is required to identify our privacy statement.

The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.

Internal Telemetry

Internal telemetry can be disabled by setting the environment variable APPLICATIONINSIGHTS_STATSBEAT_DISABLED to true.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft’s Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party’s policies.

Reporting Security Issues

[SECURITY.md]

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Microsoft.OpenTelemetry:

Package Downloads
Azure.AI.AgentServer.Core

Shared foundation for Azure AI Agent Server packages — provides port binding, health probes, OpenTelemetry, graceful shutdown, and the composable AgentHostBuilder.

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on Microsoft.OpenTelemetry:

Repository Stars
Azure/azure-sdk-for-net
This repository is for active development of the Azure SDK for .NET. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/dotnet/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-net.
microsoft/Agent365-Samples
Version Downloads Last Updated
1.1.0 94 9/8/2026
1.0.7 1,495 7/13/2026
1.0.6 678 7/1/2026
1.0.5 291 6/12/2026
1.0.4 497 6/1/2026
1.0.3 1,401 5/22/2026
1.0.2 940 5/6/2026
1.0.1 1,370 5/1/2026
1.0.0-beta.2 78 4/30/2026
1.0.0-beta.1 151,079 4/27/2026
1.0.0-alpha.3 310 4/23/2026
1.0.0-alpha.2 96 4/21/2026
1.0.0-alpha.1 82 4/20/2026

See CHANGELOG.md for release notes.