docs.particular.net
docs.particular.net copied to clipboard
OpenTelemetry: Have guidance that use hosting extensions builder for configuration
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)
;
});```