Uptrace.OpenTelemetry 0.3.0

Uptrace for .NET

build workflow NuGet Documentation Chat

Introduction

uptrace-dotnet is an OpenTelemetry distribution configured to export traces, metrics, and logs to Uptrace.

Installation

Install uptrace-dotnet:

dotnet add package Uptrace.OpenTelemetry

Tracing

You can configure the Uptrace client using a DSN (Data Source Name, e.g. https://<secret>@api.uptrace.dev?grpc=4317) from the project settings page.

using System;
using System.Diagnostics;

using OpenTelemetry;
using OpenTelemetry.Trace;
using OpenTelemetry.Resources;

using Uptrace.OpenTelemetry;

using var tracerProvider = Sdk.CreateTracerProviderBuilder()
    .AddSource("*") // subscribe to all activity sources
    .SetResourceBuilder(
        ResourceBuilder
            .CreateDefault()
            .AddEnvironmentVariableDetector()
            .AddService("myservice")
    )
    // copy your project DSN here or use UPTRACE_DSN env var
    //.AddUptrace("https://<secret>@api.uptrace.dev?grpc=4317")
    .AddUptrace()
    .Build();

See the basic example to try OpenTelemetry and Uptrace.

Metrics

using System;
using System.Diagnostics;
using System.Diagnostics.Metrics;

using OpenTelemetry;
using OpenTelemetry.Metrics;
using OpenTelemetry.Resources;

using Uptrace.OpenTelemetry;

using var meterProvider = Sdk.CreateMeterProviderBuilder()
    .AddMeter("MyMeter") // subscribe to all the meters you want
    .AddMeter("*") // or subscribe to all meters
    .SetResourceBuilder(
        ResourceBuilder
            .CreateDefault()
            .AddEnvironmentVariableDetector()
            .AddService(serviceName: "myservice", serviceVersion: "1.0.0")
    )
    // copy your project DSN here or use UPTRACE_DSN env var
    .AddUptrace()
    .Build();

See the metrics example to try OpenTelemetry and Uptrace.

Logs

using Microsoft.Extensions.Logging;

using OpenTelemetry.Logs;
using OpenTelemetry.Resources;

using Uptrace.OpenTelemetry;

using var loggerFactory = LoggerFactory.Create(builder =>
{
    builder.AddOpenTelemetry(options =>
    {
        options.IncludeScopes = true;
        options.ParseStateValues = true;
        options.IncludeFormattedMessage = true;
        options
            .SetResourceBuilder(
                ResourceBuilder
                    .CreateDefault()
                    .AddEnvironmentVariableDetector()
                    .AddService(serviceName: "myservice", serviceVersion: "1.0.0")
            )
            // copy your project DSN here or use UPTRACE_DSN env var
            .AddUptrace();
    });
});

var logger = loggerFactory.CreateLogger<Program>();
logger.LogInformation("Hello from {name} {price}.", "tomato", 2.99);

See the logs example to try OpenTelemetry and Uptrace.

Runtime metrics

To collect telemetry about runtime behavior, install OpenTelemetry.Instrumentation.Runtime:

dotnet add package OpenTelemetry.Instrumentation.Runtime

And enable the instrumentation:

using var meterProvider = Sdk.CreateMeterProviderBuilder()
    .AddRuntimeInstrumentation()
    .AddUptrace()
    .Build();

No packages depend on Uptrace.OpenTelemetry.

Version Downloads Last updated
0.3.0 12 07/17/2026
0.2.2 318 12/11/2025
0.2.1 12 12/09/2025
0.2.0 11 12/13/2025
0.1.8 12 12/09/2025
0.1.7 12 12/09/2025
0.1.6 11 12/09/2025
0.1.5 12 12/09/2025
0.1.4 12 12/09/2025
0.1.3 13 12/09/2025
0.1.2 12 12/09/2025
0.1.1 12 12/09/2025
0.1.0 11 12/13/2025