Browse Source

Refactor ITelemetrySessionProvider to use asynchronous method for adding session info; update TelemetryRuntimeSessionProvider and TelemetryActivityDataBuilder to ensure consistent asynchronous handling in telemetry session management.

pull/23059/head
Emre KARA 1 year ago
parent
commit
c411343502
  1. 5
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryActivityDataBuilder.cs
  2. 5
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/ITelemetrySessionProvider.cs
  3. 5
      framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/TelemetryRuntimeSessionProvider.cs

5
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<ITelemetrySessionProvider>();
sessionProvider.AddSessionInfo(activity);
await sessionProvider.AddSessionInfoAsync(activity);
var activityDataEnrichers = _serviceProvider.GetRequiredService<IEnumerable<ITelemetryActivityDataEnricher>>();

5
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);
}

5
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;
}

Loading…
Cancel
Save