feat: replace manual Stopwatch with IProfiler in TransactionBehavior
- Add HrynCo.Common to Services project - TransactionBehavior now uses IProfiler.MeasureExecutionAsync: MeasureExecutionAsync -> ExecuteInTransactionAsync -> next() -> SaveChangesAsync - Profiler logs Start/End with duration + memory delta via Serilog PerformanceLog context - Register IProfiler as singleton in ServiceCollectionExtensions (uses Log.Logger) Ref: IT-628 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
using HrynCo.Common;
|
||||
using HrynCo.NotificationService.Services.Behaviors;
|
||||
using HrynCo.NotificationService.Services.Logging;
|
||||
using MediatR;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Serilog;
|
||||
|
||||
namespace HrynCo.NotificationService.Services;
|
||||
|
||||
@@ -16,6 +18,7 @@ public static class ServiceCollectionExtensions
|
||||
});
|
||||
|
||||
services.AddTransient(typeof(IContextualSerilogLogger<>), typeof(ContextualSerilogLogger<>));
|
||||
services.AddSingleton<IProfiler>(new Profiler(Log.Logger));
|
||||
|
||||
return services;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user