From c4113435023986d62a1e93f32a511eff04e7fefe Mon Sep 17 00:00:00 2001 From: Emre KARA Date: Sun, 1 Jun 2025 22:23:31 +0300 Subject: [PATCH] Refactor ITelemetrySessionProvider to use asynchronous method for adding session info; update TelemetryRuntimeSessionProvider and TelemetryActivityDataBuilder to ensure consistent asynchronous handling in telemetry session management. --- .../Activity/Providers/TelemetryActivityDataBuilder.cs | 5 +---- .../Volo/Abp/Telemetry/ITelemetrySessionProvider.cs | 5 +++-- .../Volo/Abp/Telemetry/TelemetryRuntimeSessionProvider.cs | 5 ++++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryActivityDataBuilder.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryActivityDataBuilder.cs index 933fd4e0bd..0b6c2ac61d 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryActivityDataBuilder.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryActivityDataBuilder.cs @@ -1,12 +1,9 @@ using System; using System.Collections.Generic; -using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.DependencyInjection; using Volo.Abp.Telemetry.Activity.Contracts; -using Volo.Abp.Telemetry.Constants; -using Volo.Abp.Telemetry.Constants.Enums; namespace Volo.Abp.Telemetry.Activity.Providers; @@ -24,7 +21,7 @@ public class TelemetryActivityDataBuilder : ITelemetryActivityDataBuilder, ISing var sessionProvider = _serviceProvider.GetRequiredService(); - sessionProvider.AddSessionInfo(activity); + await sessionProvider.AddSessionInfoAsync(activity); var activityDataEnrichers = _serviceProvider.GetRequiredService>(); diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ITelemetrySessionProvider.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ITelemetrySessionProvider.cs index c94ea6f14f..7cf9e639ce 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ITelemetrySessionProvider.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ITelemetrySessionProvider.cs @@ -1,8 +1,9 @@ -using Volo.Abp.Telemetry.Activity; +using System.Threading.Tasks; +using Volo.Abp.Telemetry.Activity; namespace Volo.Abp.Telemetry; public interface ITelemetrySessionProvider { - void AddSessionInfo(ActivityData activity); + Task AddSessionInfoAsync(ActivityData activity); } \ No newline at end of file diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryRuntimeSessionProvider.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryRuntimeSessionProvider.cs index 2859c95242..a67bff586a 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryRuntimeSessionProvider.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryRuntimeSessionProvider.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Threading.Tasks; using Volo.Abp.DependencyInjection; using Volo.Abp.Telemetry.Activity; using Volo.Abp.Telemetry.Constants; @@ -10,11 +11,13 @@ namespace Volo.Abp.Telemetry; [ExposeServices(typeof(ITelemetrySessionProvider))] public class TelemetryRuntimeSessionProvider : ITelemetrySessionProvider, ISingletonDependency { - public void AddSessionInfo(ActivityData activity) + public Task AddSessionInfoAsync(ActivityData activity) { activity[ActivityPropertyNames.SessionType] = SessionType.ApplicationRuntime; activity[ActivityPropertyNames.SessionId] = Guid.NewGuid(); activity[ActivityPropertyNames.IsFirstSession] = !File.Exists(TelemetryPaths.ActivityStorage); + + return Task.CompletedTask; }