docs.particular.net icon indicating copy to clipboard operation
docs.particular.net copied to clipboard

OpenTelemetry: Have guidance that use hosting extensions builder for configuration

Open ramonsmits opened this issue 1 year ago • 0 comments

Greenfield projects likely use .NET builder from hosting extensions for configuration. The current guidance and samples use the OpenTelemetry SDK

For example, at https://docs.particular.net/nservicebus/operations/opentelemetry#traces:

var tracingProviderBuilder = Sdk.CreateTracerProviderBuilder()
    .AddSource("NServiceBus.Core")
    // ... Add other trace sources
    // ... Add exporters
    .Build();

while it likely is better to use:

services.AddOpenTelemetry()
    .ConfigureResource(rb => rb.AddService(Global.ActivitySource.Name, serviceInstanceId: Global.InstanceId).AddAttributes(attributes))
    .WithTracing(tracerProviderBuilder =>
    {
        tracerProviderBuilder
            .AddSource("NServiceBus.*")
            .AddSource(Global.ActivitySource.Name)
            .AddAzureMonitorTraceExporter(o => o.ConnectionString = applicationInsightsConnectionString)
            ;
    })
    .WithMetrics(cfg =>
    {
        cfg
            .AddMeter("NServiceBus.Core")
            .AddAzureMonitorMetricExporter(o => o.ConnectionString = applicationInsightsConnectionString)
            ;
    });```

ramonsmits avatar May 27 '24 15:05 ramonsmits