Raycynix.Extensions.Tracing 3.0.0

dotnet add package Raycynix.Extensions.Tracing --version 3.0.0
                    
NuGet\Install-Package Raycynix.Extensions.Tracing -Version 3.0.0
                    
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="Raycynix.Extensions.Tracing" Version="3.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Raycynix.Extensions.Tracing" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Raycynix.Extensions.Tracing" />
                    
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 Raycynix.Extensions.Tracing --version 3.0.0
                    
#r "nuget: Raycynix.Extensions.Tracing, 3.0.0"
                    
#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 Raycynix.Extensions.Tracing@3.0.0
                    
#: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=Raycynix.Extensions.Tracing&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Raycynix.Extensions.Tracing&version=3.0.0
                    
Install as a Cake Tool

Raycynix.Extensions.Tracing

Version 3.0.0 provides provider-neutral tracing registration for .NET 10 applications.

What it contains

  • AddRaycynixTracing() registration
  • the standard shared ActivitySource from Raycynix.Extensions.Tracing.Abstractions
  • compatibility with ActivityListener, OpenTelemetry, OTLP, and Aspire

The package does not own a tracer provider or exporter. Transport and sampling are configured by the host.

Registration

var builder = Host.CreateApplicationBuilder(args);

builder.Services.AddRaycynixTracing();

Creating activities

using System.Diagnostics;
using Raycynix.Extensions.Tracing.Abstractions;

using var activity = RaycynixTracing.ActivitySource.StartActivity(
    "orders.process",
    ActivityKind.Internal);

activity?.SetTag("raycynix.order.id", orderId);
activity?.SetBaggage("raycynix.tenant", tenant);

try
{
    await ProcessAsync();
    activity?.SetStatus(ActivityStatusCode.Ok);
}
catch (Exception exception)
{
    activity?.SetStatus(ActivityStatusCode.Error, exception.Message);
    throw;
}

StartActivity returns null when no listener samples the source. Use null-conditional operations and avoid doing expensive tag preparation until an activity exists.

Aspire and OpenTelemetry

Raycynix uses the stable source name Raycynix.Extensions. An Aspire resource can export these activities through its normal OpenTelemetry/OTLP pipeline. Configure collection in the resource process; the AppHost does not recreate spans emitted by its resources.

For ASP.NET Core request instrumentation and exporter composition, use Raycynix.Extensions.Tracing.AspNetCore.

Migration from 2.x

Version 3.0 removes ITracer and Tracer.

  • use RaycynixTracing.ActivitySource.StartActivity(...) instead of ITracer.StartTrace(...)
  • use Activity.SetTag(...) instead of ITracer.AddTag(...)
  • use Activity.SetBaggage(...) and Activity.GetBaggageItem(...)
  • configure sampling and exporters through OpenTelemetry or ActivityListener
Product Compatible and additional computed target framework versions.
.NET 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 (2)

Showing the top 2 NuGet packages that depend on Raycynix.Extensions.Tracing:

Package Downloads
Raycynix.Extensions.Tracing.AspNetCore

Stable OpenTelemetry ASP.NET Core tracing instrumentation for the shared Raycynix ActivitySource, OTLP exporters, Aspire, and logging correlation.

Raycynix.Extensions.Observability

Provider-neutral observability composition for Raycynix applications, combining standard .NET metrics, tracing, and ambient operation context registration.

GitHub repositories

This package is not used by any popular GitHub repositories.

v3.0.0 removes the custom ITracer implementation and registers the shared standard System.Diagnostics.ActivitySource used by Raycynix instrumentation.