diff --git a/framework/src/Volo.Abp.Cli/Volo/Abp/Cli/Telemetry/TelemetryCliSessionProvider.cs b/framework/src/Volo.Abp.Cli/Volo/Abp/Cli/Telemetry/TelemetryCliSessionProvider.cs index 807b94f5e4..0126f329ef 100644 --- a/framework/src/Volo.Abp.Cli/Volo/Abp/Cli/Telemetry/TelemetryCliSessionProvider.cs +++ b/framework/src/Volo.Abp.Cli/Volo/Abp/Cli/Telemetry/TelemetryCliSessionProvider.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using Volo.Abp.DependencyInjection; @@ -26,24 +25,6 @@ public class TelemetryCliSessionProvider : TelemetryActivityEventEnricher context.Current[ActivityPropertyNames.SessionType] = SessionType.AbpCli; context.Current[ActivityPropertyNames.SessionId] = Guid.NewGuid(); context.Current[ActivityPropertyNames.IsFirstSession] = !File.Exists(TelemetryPaths.ActivityStorage); - - if (context.ExtraProperties.ContainsKey(ActivityPropertyNames.SolutionPath)) - { - return Task.CompletedTask; - } - - if(context.Current.TryGetValue(ActivityPropertyNames.SolutionPath, out var existingSolutionPath) && existingSolutionPath is string) - { - context.ExtraProperties[ActivityPropertyNames.SolutionPath] = existingSolutionPath; - return Task.CompletedTask; - } - - if (context.Current.TryGetValue(ActivityPropertyNames.AdditionalProperties, out var additionalProperties) && - additionalProperties is Dictionary additionalPropertiesDict && - additionalPropertiesDict.TryGetValue(ActivityPropertyNames.SolutionPath, out var solutionPath)) - { - context.ExtraProperties[ActivityPropertyNames.SolutionPath] = solutionPath; - } return Task.CompletedTask; } diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Activity/ActivityContext.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Activity/ActivityContext.cs index 8a03a66e65..7c232671e7 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Activity/ActivityContext.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Internal/Telemetry/Activity/ActivityContext.cs @@ -19,7 +19,7 @@ public class ActivityContext public string? DeviceId => Current.Get(ActivityPropertyNames.DeviceId); - public string? SolutionPath => ExtraProperties.TryGetValue(ActivityPropertyNames.SolutionPath, out var solutionPath) + public string? SolutionPath => TryGetValue(ActivityPropertyNames.SolutionPath, out var solutionPath) ? solutionPath?.ToString() : null; @@ -42,6 +42,28 @@ public class ActivityContext return new ActivityContext(activity); } + + public bool TryGetValue(string key, out object? value) + { + if (Current.TryGetValue(key, out value)) + { + return true; + } + + if (ExtraProperties.TryGetValue(key, out value)) + { + return true; + } + + if (Current.TryGetValue(ActivityPropertyNames.AdditionalProperties, out var additionalProperties) && + additionalProperties is Dictionary additionalPropertiesDict && + additionalPropertiesDict.TryGetValue(key, out value)) + { + return true; + } + + return false; + } public void Terminate() {