Skip to content

Latest commit

 

History

History
85 lines (61 loc) · 3.53 KB

File metadata and controls

85 lines (61 loc) · 3.53 KB

OpenTelemetry.Extensions.Hosting

NuGet NuGet

Installation

dotnet add package --prerelease OpenTelemetry.Extensions.Hosting

Overview

The OpenTelemetry.Extensions.Hosting package provides extension methods for automatically starting (and stopping) OpenTelemetry tracing (TracerProvider) and metrics (MeterProvider) in ASP.NET Core and .NET Generic hosts. These are completely optional extensions meant to simplify the management of the OpenTelemetry SDK lifecycle.

Extension method reference

Current OpenTelemetry SDK v1.4.0 and newer extensions

Targeting OpenTelemetry.OpenTelemetryBuilder:

Obsolete OpenTelemetry SDK pre-1.4.0 extensions

Note: The below extension methods should be called by application host code only. Library authors see: Registration extension method guidance for library authors.

Note: Multiple calls to the below extensions will NOT result in multiple providers. To establish multiple providers use the Sdk.CreateTracerProviderBuilder() and/or Sdk.CreateMeterProviderBuilder() methods. See TracerProvider configuration and Building a MeterProvider for more details.

Targeting Microsoft.Extensions.DependencyInjection.IServiceCollection:

Usage

The following example shows how to register OpenTelemetry tracing & metrics in an ASP.NET Core host using the OpenTelemetry.Extensions.Hosting extensions.

using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using OpenTelemetry.Metrics;
using OpenTelemetry.Trace;

var appBuilder = WebApplication.CreateBuilder(args);

appBuilder.Services.AddOpenTelemetry()
    .WithTracing(builder => builder.AddConsoleExporter())
    .WithMetrics(builder => builder.AddConsoleExporter())
    .StartWithHost();

var app = appBuilder.Build();

app.Run();

References