OpenTelemetry integration
OpenTelemetry integration
Section titled “OpenTelemetry integration”Eventuous uses OpenTelemetry .NET to collect and export metrics and traces. The integration requires Eventuous.Diagnostics.OpenTelemetry package to be installed. The package provides extensions for OpenTelemetry .NET hosting and configuration.
Adding metrics
Section titled “Adding metrics”Use two extensions for MetricsProviderBuilder to add Eventuous metrics:
builder.Services.AddOpenTelemetry() .WithMetrics( builder => { builder .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("MyService")) .AddEventuous() .AddEventuousSubscriptions() .AddPrometheusExporter(); } );AddEventuousadds application and persistence metricsAddEventuousSubscriptionsadds subscription metrics
Adding traces
Section titled “Adding traces”Use AddEventuousTracing extension to TracerProviderBuilder to add Eventuous traces:
builder.Services.AddOpenTelemetry() .WithTracing( builder => { builder .AddEventuousTracing() .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("MyService")) .SetSampler(new AlwaysOnSampler()) .AddZipkinExporter(); } );Because all Eventuous traces use the same activity source, using AddEventuousTracing that connects OpenTelemetry .NET with the activity source will automatically collect traces for all Eventuous components.