diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryApplicationInfoEnricher.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryApplicationInfoEnricher.cs index c7446b681f..e0f43e2c95 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryApplicationInfoEnricher.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Providers/TelemetryApplicationInfoEnricher.cs @@ -17,7 +17,7 @@ public class TelemetryApplicationInfoEnricher : ITelemetryActivityDataEnricher, public TelemetryApplicationInfoEnricher( ITelemetrySessionTypeProvider telemetrySessionTypeProvider, - IEnumerable telemetryApplicationInfoContributors, + IEnumerable telemetryApplicationInfoContributors, ITelemetryActivityStorage telemetryActivityStorage) { _telemetrySessionTypeProvider = telemetrySessionTypeProvider; @@ -45,7 +45,11 @@ public class TelemetryApplicationInfoEnricher : ITelemetryActivityDataEnricher, return; } - await ContributeApplicationInfoAsync(activity); + foreach (var contributor in _telemetryApplicationInfoContributors) + { + await contributor.ContributeAsync(activity); + } + activity.Remove(ActivityPropertyNames.Assembly); await _telemetryActivityStorage.MarkApplicationInfoAsAddedAsync(projectId.Value); } @@ -57,14 +61,14 @@ public class TelemetryApplicationInfoEnricher : ITelemetryActivityDataEnricher, private bool ShouldEnrichActivity(ActivityData activity) { - return activity.ContainsKey(ActivityPropertyNames.Assembly) && + return activity.ContainsKey(ActivityPropertyNames.Assembly) && _telemetrySessionTypeProvider.SessionType == SessionType.ApplicationRuntime; } private static Guid? ExtractProjectId(ActivityData activity) { - if (!activity.TryGetValue(ActivityPropertyNames.ProjectId, out var projectIdObj) || - projectIdObj is not string projectIdStr || + if (!activity.TryGetValue(ActivityPropertyNames.ProjectId, out var projectIdObj) || + projectIdObj is not string projectIdStr || !Guid.TryParse(projectIdStr, out var projectId)) { return null; @@ -72,19 +76,4 @@ public class TelemetryApplicationInfoEnricher : ITelemetryActivityDataEnricher, return projectId; } - - private async Task ContributeApplicationInfoAsync(ActivityData activity) - { - foreach (var contributor in _telemetryApplicationInfoContributors) - { - try - { - await contributor.ContributeAsync(activity); - } - catch - { - // ignored - } - } - } } \ No newline at end of file diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorage.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorage.cs index 18f4aae4bf..7eab630096 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorage.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorage.cs @@ -79,7 +79,7 @@ public class TelemetryActivityStorage : ITelemetryActivityStorage, ISingletonDep public async Task MarkApplicationInfoAsAddedAsync(Guid applicationId) { var state = await GetStateAsync(); - state.ApplicationInfos[applicationId] = DateTimeOffset.UtcNow; + state.Applications[applicationId] = DateTimeOffset.UtcNow; await SaveAsync(); } @@ -117,7 +117,7 @@ public class TelemetryActivityStorage : ITelemetryActivityStorage, ISingletonDep private async Task GetLastApplicationInfoSendTimeAsync(Guid applicationId) { var state = await GetStateAsync(); - return state.ApplicationInfos.TryGetValue(applicationId, out var date) ? date : null; + return state.Applications.TryGetValue(applicationId, out var date) ? date : null; } private async Task GetLastDeviceInfoSendTimeAsync() diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorageState.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorageState.cs index e7d290492d..ae324672a2 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorageState.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Telemetry/Activity/Storage/TelemetryActivityStorageState.cs @@ -11,7 +11,7 @@ public class TelemetryActivityStorageState public List Activities { get; set; } = new(); public Dictionary Solutions { get; set; } = new(); - public Dictionary ApplicationInfos { get; set; } = new(); + public Dictionary Applications { get; set; } = new(); }