From a3a8c84de596ceb9853ed10dd6a1bea52a0c8c13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20K=C3=BCsters?= Date: Tue, 9 Jan 2024 13:46:45 +0100 Subject: [PATCH] Added RecordException to Azure Service Bus Processors --- .../Processors/AzureServiceBusCommandProcessor`1.cs | 7 +++++-- .../Processors/AzureServiceBusCommandSessionProcessor`1.cs | 4 ++-- .../Wemogy.CQRS.Extensions.AzureServiceBus.csproj | 1 + 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/extensions/azureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus/Processors/AzureServiceBusCommandProcessor`1.cs b/src/extensions/azureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus/Processors/AzureServiceBusCommandProcessor`1.cs index f469430..77174f1 100644 --- a/src/extensions/azureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus/Processors/AzureServiceBusCommandProcessor`1.cs +++ b/src/extensions/azureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus/Processors/AzureServiceBusCommandProcessor`1.cs @@ -5,6 +5,7 @@ using Azure.Messaging.ServiceBus; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; +using OpenTelemetry.Trace; using Wemogy.Core.Errors; using Wemogy.Core.Json; using Wemogy.CQRS.Commands.Abstractions; @@ -19,6 +20,7 @@ public class AzureServiceBusCommandProcessor : IAzureServiceBusCommand private readonly ServiceBusProcessor _serviceBusProcessor; private readonly IServiceCollection _serviceCollection; private readonly ScheduledCommandDependencies _scheduledCommandDependencies; + private readonly string _handleMessageActivityName; private bool _isStarted; /// @@ -41,10 +43,12 @@ public AzureServiceBusCommandProcessor( _scheduledCommandDependencies = serviceCollection .BuildServiceProvider() .GetRequiredService(); + _handleMessageActivityName = $"HandleMessageOf{typeof(TCommand).Name}"; } public async Task HandleMessageAsync(ProcessMessageEventArgs arg) { + using var activity = Observability.DefaultActivities.StartActivity(_handleMessageActivityName); var services = new ServiceCollection(); foreach (var serviceDescriptor in _serviceCollection) { @@ -87,8 +91,7 @@ public async Task HandleMessageAsync(ProcessMessageEventArgs arg) } catch (Exception e) { - // ToDo: Dead letter message ==> Maybe remove try/catch let AutoComplete manage this - Console.WriteLine(e); + activity?.RecordException(e); throw; } } diff --git a/src/extensions/azureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus/Processors/AzureServiceBusCommandSessionProcessor`1.cs b/src/extensions/azureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus/Processors/AzureServiceBusCommandSessionProcessor`1.cs index 6fde071..c49417f 100644 --- a/src/extensions/azureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus/Processors/AzureServiceBusCommandSessionProcessor`1.cs +++ b/src/extensions/azureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus/Processors/AzureServiceBusCommandSessionProcessor`1.cs @@ -5,6 +5,7 @@ using Azure.Messaging.ServiceBus; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; +using OpenTelemetry.Trace; using Wemogy.Core.Errors; using Wemogy.Core.Json; using Wemogy.CQRS.Commands.Abstractions; @@ -92,8 +93,7 @@ public async Task HandleMessageAsync(ProcessSessionMessageEventArgs arg) } catch (Exception e) { - // ToDo: Dead letter message ==> Maybe remove try/catch let AutoComplete manage this - Console.WriteLine(e); + activity?.RecordException(e); throw; } } diff --git a/src/extensions/azureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus.csproj b/src/extensions/azureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus.csproj index 225fee4..69a7859 100644 --- a/src/extensions/azureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus.csproj +++ b/src/extensions/azureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus/Wemogy.CQRS.Extensions.AzureServiceBus.csproj @@ -19,6 +19,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive all +