From fe1a4fda7285eeb086abdf7944ee4679ecfbd3e2 Mon Sep 17 00:00:00 2001 From: Emre KARA Date: Thu, 26 Jun 2025 23:17:43 +0300 Subject: [PATCH] Refactor `TelemetryPermissionInfoEnricher`: update permission count logic to consider only user-defined permissions. --- .../TelemetryPermissionInfoEnricher.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/TelemetryPermissionInfoEnricher.cs b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/TelemetryPermissionInfoEnricher.cs index 0b776711c9..4fab06ba8f 100644 --- a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/TelemetryPermissionInfoEnricher.cs +++ b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/TelemetryPermissionInfoEnricher.cs @@ -1,4 +1,5 @@ using System; +using System.Linq; using System.Threading.Tasks; using Volo.Abp.DependencyInjection; using Volo.Abp.Internal.Telemetry.Activity; @@ -27,6 +28,18 @@ public sealed class TelemetryPermissionInfoEnricher : TelemetryActivityEventEnri protected async override Task ExecuteAsync(ActivityContext context) { var permissions = await _permissionDefinitionManager.GetPermissionsAsync(); - context.Current[ActivityPropertyNames.PermissionCount] = permissions.Count; + + var userDefinedPermissionsCount = permissions.Count(IsUserDefinedPermission); + + context.Current[ActivityPropertyNames.PermissionCount] = userDefinedPermissionsCount; + } + + private static bool IsUserDefinedPermission(PermissionDefinition permission) + { + return permission.Properties.TryGetValue(PermissionDefinitionContext.KnownPropertyNames.CurrentProviderName, out var providerName) && + providerName is string && + !providerName.ToString()!.StartsWith(TelemetryConsts.VoloNameSpaceFilter); } + + } \ No newline at end of file