From bcbc1634bc04d4124c23d5691ea6054a27e12f26 Mon Sep 17 00:00:00 2001 From: Zhiyuan Liang Date: Thu, 7 Aug 2025 14:31:29 +0800 Subject: [PATCH 1/2] add request tracing for aspire component --- .../AzureAppConfigurationProvider.cs | 2 ++ .../Constants/RequestTracingConstants.cs | 2 ++ .../RequestTracingOptions.cs | 5 +++++ .../TracingUtils.cs | 5 +++++ 4 files changed, 14 insertions(+) diff --git a/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/AzureAppConfigurationProvider.cs b/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/AzureAppConfigurationProvider.cs index 1fe06076..27cd262e 100644 --- a/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/AzureAppConfigurationProvider.cs +++ b/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/AzureAppConfigurationProvider.cs @@ -1331,6 +1331,8 @@ private void EnsureAssemblyInspected() _requestTracingOptions.FeatureManagementAspNetCoreVersion = TracingUtils.GetAssemblyVersion(RequestTracingConstants.FeatureManagementAspNetCoreAssemblyName); + _requestTracingOptions.AspireComponentVersion = TracingUtils.GetAssemblyVersion(RequestTracingConstants.AspireComponentAssemblyName); + if (TracingUtils.GetAssemblyVersion(RequestTracingConstants.SignalRAssemblyName) != null) { _requestTracingOptions.IsSignalRUsed = true; diff --git a/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/Constants/RequestTracingConstants.cs b/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/Constants/RequestTracingConstants.cs index 979ea9ad..65a0f887 100644 --- a/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/Constants/RequestTracingConstants.cs +++ b/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/Constants/RequestTracingConstants.cs @@ -24,6 +24,7 @@ internal class RequestTracingConstants public const string EnvironmentKey = "Env"; public const string FeatureManagementVersionKey = "FMVer"; public const string FeatureManagementAspNetCoreVersionKey = "FMANCVer"; + public const string AspireComponentVersionKey = "ACVer"; public const string DevEnvironmentValue = "Dev"; public const string KeyVaultConfiguredTag = "UsesKeyVault"; public const string KeyVaultRefreshConfiguredTag = "RefreshesKeyVault"; @@ -53,6 +54,7 @@ internal class RequestTracingConstants public const string FeatureManagementAssemblyName = "Microsoft.FeatureManagement"; public const string FeatureManagementAspNetCoreAssemblyName = "Microsoft.FeatureManagement.AspNetCore"; + public const string AspireComponentAssemblyName = "Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration"; public const string SignalRAssemblyName = "Microsoft.AspNetCore.SignalR"; public const string Delimiter = "+"; diff --git a/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/RequestTracingOptions.cs b/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/RequestTracingOptions.cs index 21582db1..8a3a7b20 100644 --- a/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/RequestTracingOptions.cs +++ b/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/RequestTracingOptions.cs @@ -50,6 +50,11 @@ internal class RequestTracingOptions /// public string FeatureManagementAspNetCoreVersion { get; set; } + /// + /// Version of the Aspire.Microsoft.Extensions.Configuration.AzureAppConfiguration assembly, if present in the application. + /// + public string AspireComponentVersion { get; set; } + /// /// Flag to indicate whether Microsoft.AspNetCore.SignalR assembly is present in the application. /// diff --git a/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/TracingUtils.cs b/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/TracingUtils.cs index b3e12913..33050b5b 100644 --- a/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/TracingUtils.cs +++ b/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/TracingUtils.cs @@ -181,6 +181,11 @@ private static string CreateCorrelationContextHeader(RequestType requestType, Re correlationContextKeyValues.Add(new KeyValuePair(RequestTracingConstants.FeatureManagementAspNetCoreVersionKey, requestTracingOptions.FeatureManagementAspNetCoreVersion)); } + if (requestTracingOptions.AspireComponentVersion != null) + { + correlationContextKeyValues.Add(new KeyValuePair(RequestTracingConstants.AspireComponentVersionKey, requestTracingOptions.AspireComponentVersion)); + } + if (requestTracingOptions.UsesAnyTracingFeature()) { correlationContextKeyValues.Add(new KeyValuePair(RequestTracingConstants.FeaturesKey, requestTracingOptions.CreateFeaturesString())); From 4aac8ab633dedb53b110864f23eb5e233600f981 Mon Sep 17 00:00:00 2001 From: Zhiyuan Liang Date: Wed, 20 Aug 2025 13:58:44 +0800 Subject: [PATCH 2/2] update tag name --- .../Constants/RequestTracingConstants.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/Constants/RequestTracingConstants.cs b/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/Constants/RequestTracingConstants.cs index 65a0f887..340fba85 100644 --- a/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/Constants/RequestTracingConstants.cs +++ b/src/Microsoft.Extensions.Configuration.AzureAppConfiguration/Constants/RequestTracingConstants.cs @@ -24,7 +24,7 @@ internal class RequestTracingConstants public const string EnvironmentKey = "Env"; public const string FeatureManagementVersionKey = "FMVer"; public const string FeatureManagementAspNetCoreVersionKey = "FMANCVer"; - public const string AspireComponentVersionKey = "ACVer"; + public const string AspireComponentVersionKey = "DNACVer"; public const string DevEnvironmentValue = "Dev"; public const string KeyVaultConfiguredTag = "UsesKeyVault"; public const string KeyVaultRefreshConfiguredTag = "RefreshesKeyVault";