From 78d02ed09b54455527b4d8942052be5b510ed729 Mon Sep 17 00:00:00 2001 From: Jordan Date: Tue, 9 Dec 2025 15:38:49 -0500 Subject: [PATCH 01/11] initial --- libdd-trace-utils/src/trace_utils.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libdd-trace-utils/src/trace_utils.rs b/libdd-trace-utils/src/trace_utils.rs index 49c7a6eddd..7b15b37a81 100644 --- a/libdd-trace-utils/src/trace_utils.rs +++ b/libdd-trace-utils/src/trace_utils.rs @@ -551,6 +551,10 @@ pub fn enrich_span_with_google_cloud_function_metadata( } pub fn enrich_span_with_azure_function_metadata(span: &mut pb::Span) { + if span.name == "azure.apim" { + return; + } + if let Some(aas_metadata) = &*azure_app_services::AAS_METADATA_FUNCTION { let aas_tags = [ ("aas.resource.id", aas_metadata.get_resource_id()), From 5cae7274676b7ccd032e8c4f58a76495adc425b0 Mon Sep 17 00:00:00 2001 From: Jordan Date: Wed, 10 Dec 2025 16:01:29 -0500 Subject: [PATCH 02/11] add log and test tag --- libdd-trace-utils/src/trace_utils.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/libdd-trace-utils/src/trace_utils.rs b/libdd-trace-utils/src/trace_utils.rs index 7b15b37a81..af2b7de342 100644 --- a/libdd-trace-utils/src/trace_utils.rs +++ b/libdd-trace-utils/src/trace_utils.rs @@ -581,6 +581,7 @@ pub fn enrich_span_with_azure_function_metadata(span: &mut pb::Span) { ("aas.site.name", aas_metadata.get_site_name()), ("aas.site.kind", aas_metadata.get_site_kind()), ("aas.site.type", aas_metadata.get_site_type()), + ("aas.environment.storms", "true"), ]; aas_tags.into_iter().for_each(|(name, value)| { span.meta.insert(name.to_string(), value.to_string()); From e36d5f5e3e51fdc9ca77454a962df5ac1c5da01c Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 15 Dec 2025 10:20:28 -0500 Subject: [PATCH 03/11] remove test tag --- libdd-trace-utils/src/trace_utils.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/libdd-trace-utils/src/trace_utils.rs b/libdd-trace-utils/src/trace_utils.rs index af2b7de342..7b15b37a81 100644 --- a/libdd-trace-utils/src/trace_utils.rs +++ b/libdd-trace-utils/src/trace_utils.rs @@ -581,7 +581,6 @@ pub fn enrich_span_with_azure_function_metadata(span: &mut pb::Span) { ("aas.site.name", aas_metadata.get_site_name()), ("aas.site.kind", aas_metadata.get_site_kind()), ("aas.site.type", aas_metadata.get_site_type()), - ("aas.environment.storms", "true"), ]; aas_tags.into_iter().for_each(|(name, value)| { span.meta.insert(name.to_string(), value.to_string()); From 6f5de6640d3aeb3a77737c4d649915a7edd414f8 Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 15 Dec 2025 10:24:00 -0500 Subject: [PATCH 04/11] add unit test --- libdd-trace-utils/src/trace_utils.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/libdd-trace-utils/src/trace_utils.rs b/libdd-trace-utils/src/trace_utils.rs index 7b15b37a81..e84d55b806 100644 --- a/libdd-trace-utils/src/trace_utils.rs +++ b/libdd-trace-utils/src/trace_utils.rs @@ -1202,4 +1202,26 @@ mod tests { 1.0 ); } + + #[test] + fn test_enrich_span_with_azure_function_metadata_skips_azure_apim() { + let mut span = create_test_span(1234, 12342, 12341, 1, false); + span.name = "azure.apim".to_string(); + + enrich_span_with_azure_function_metadata(&mut span); + + // Verify no aas.* tags were added + assert!(!span.meta.contains_key("aas.resource.id")); + assert!(!span.meta.contains_key("aas.environment.instance_id")); + assert!(!span.meta.contains_key("aas.environment.instance_name")); + assert!(!span.meta.contains_key("aas.subscription.id")); + assert!(!span.meta.contains_key("aas.environment.os")); + assert!(!span.meta.contains_key("aas.environment.runtime")); + assert!(!span.meta.contains_key("aas.environment.runtime_version")); + assert!(!span.meta.contains_key("aas.environment.function_runtime")); + assert!(!span.meta.contains_key("aas.resource.group")); + assert!(!span.meta.contains_key("aas.site.name")); + assert!(!span.meta.contains_key("aas.site.kind")); + assert!(!span.meta.contains_key("aas.site.type")); + } } From 5d7c6fcd31785a7ca4fe3b4004d034b81ccc9f23 Mon Sep 17 00:00:00 2001 From: Jordan Date: Tue, 9 Dec 2025 15:38:49 -0500 Subject: [PATCH 05/11] initial --- libdd-trace-utils/src/trace_utils.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libdd-trace-utils/src/trace_utils.rs b/libdd-trace-utils/src/trace_utils.rs index 00f556f145..2d23357520 100644 --- a/libdd-trace-utils/src/trace_utils.rs +++ b/libdd-trace-utils/src/trace_utils.rs @@ -550,6 +550,10 @@ pub fn enrich_span_with_google_cloud_function_metadata( } pub fn enrich_span_with_azure_function_metadata(span: &mut pb::Span) { + if span.name == "azure.apim" { + return; + } + if let Some(aas_metadata) = &*azure_app_services::AAS_METADATA_FUNCTION { let aas_tags = [ ("aas.resource.id", aas_metadata.get_resource_id()), From cb22d3178b4a37ec79c8bce99f0672cc33ab6fb8 Mon Sep 17 00:00:00 2001 From: Jordan Date: Wed, 10 Dec 2025 16:01:29 -0500 Subject: [PATCH 06/11] add log and test tag --- libdd-trace-utils/src/trace_utils.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/libdd-trace-utils/src/trace_utils.rs b/libdd-trace-utils/src/trace_utils.rs index 2d23357520..c4486501f4 100644 --- a/libdd-trace-utils/src/trace_utils.rs +++ b/libdd-trace-utils/src/trace_utils.rs @@ -580,6 +580,7 @@ pub fn enrich_span_with_azure_function_metadata(span: &mut pb::Span) { ("aas.site.name", aas_metadata.get_site_name()), ("aas.site.kind", aas_metadata.get_site_kind()), ("aas.site.type", aas_metadata.get_site_type()), + ("aas.environment.storms", "true"), ]; aas_tags.into_iter().for_each(|(name, value)| { span.meta.insert(name.to_string(), value.to_string()); From 7c5507fb2d05bbf2e2e2a75e9aa004167049ceb5 Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 15 Dec 2025 10:20:28 -0500 Subject: [PATCH 07/11] remove test tag --- libdd-trace-utils/src/trace_utils.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/libdd-trace-utils/src/trace_utils.rs b/libdd-trace-utils/src/trace_utils.rs index c4486501f4..2d23357520 100644 --- a/libdd-trace-utils/src/trace_utils.rs +++ b/libdd-trace-utils/src/trace_utils.rs @@ -580,7 +580,6 @@ pub fn enrich_span_with_azure_function_metadata(span: &mut pb::Span) { ("aas.site.name", aas_metadata.get_site_name()), ("aas.site.kind", aas_metadata.get_site_kind()), ("aas.site.type", aas_metadata.get_site_type()), - ("aas.environment.storms", "true"), ]; aas_tags.into_iter().for_each(|(name, value)| { span.meta.insert(name.to_string(), value.to_string()); From 9ab019e000a609ae0384148cfae4950c4ed521c9 Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 15 Dec 2025 10:48:58 -0500 Subject: [PATCH 08/11] add unit test --- libdd-trace-utils/src/trace_utils.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/libdd-trace-utils/src/trace_utils.rs b/libdd-trace-utils/src/trace_utils.rs index 2d23357520..b222e806ff 100644 --- a/libdd-trace-utils/src/trace_utils.rs +++ b/libdd-trace-utils/src/trace_utils.rs @@ -1252,4 +1252,26 @@ mod tests { "Null value should be skipped, but key was present" ); } + + #[test] + fn test_enrich_span_with_azure_function_metadata_skips_azure_apim() { + let mut span = create_test_span(1234, 12342, 12341, 1, false); + span.name = "azure.apim".to_string(); + + enrich_span_with_azure_function_metadata(&mut span); + + // Verify no aas.* tags were added + assert!(!span.meta.contains_key("aas.resource.id")); + assert!(!span.meta.contains_key("aas.environment.instance_id")); + assert!(!span.meta.contains_key("aas.environment.instance_name")); + assert!(!span.meta.contains_key("aas.subscription.id")); + assert!(!span.meta.contains_key("aas.environment.os")); + assert!(!span.meta.contains_key("aas.environment.runtime")); + assert!(!span.meta.contains_key("aas.environment.runtime_version")); + assert!(!span.meta.contains_key("aas.environment.function_runtime")); + assert!(!span.meta.contains_key("aas.resource.group")); + assert!(!span.meta.contains_key("aas.site.name")); + assert!(!span.meta.contains_key("aas.site.kind")); + assert!(!span.meta.contains_key("aas.site.type")); + } } From b8a5fab1f6dff2481f492e1e67d271652074b34e Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 15 Dec 2025 13:04:48 -0500 Subject: [PATCH 09/11] add test for non-azure-apim spans --- libdd-trace-utils/src/trace_utils.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/libdd-trace-utils/src/trace_utils.rs b/libdd-trace-utils/src/trace_utils.rs index b222e806ff..e85cdab1da 100644 --- a/libdd-trace-utils/src/trace_utils.rs +++ b/libdd-trace-utils/src/trace_utils.rs @@ -1253,6 +1253,32 @@ mod tests { ); } + #[test] + fn test_enrich_span_with_azure_function_metadata_adds_tags_for_non_apim() { + let mut span = create_test_span(1234, 12342, 12341, 1, false); + span.name = "azure.function".to_string(); + + enrich_span_with_azure_function_metadata(&mut span); + + // If AAS_METADATA_FUNCTION is available, verify aas.* tags were added + // If not available (most test environments), this is a no-op + // This test primarily ensures the function doesn't skip non-apim spans + if azure_app_services::AAS_METADATA_FUNCTION.is_some() { + assert!(span.meta.contains_key("aas.resource.id")); + assert!(span.meta.contains_key("aas.environment.instance_id")); + assert!(span.meta.contains_key("aas.environment.instance_name")); + assert!(span.meta.contains_key("aas.subscription.id")); + assert!(span.meta.contains_key("aas.environment.os")); + assert!(span.meta.contains_key("aas.environment.runtime")); + assert!(span.meta.contains_key("aas.environment.runtime_version")); + assert!(span.meta.contains_key("aas.environment.function_runtime")); + assert!(span.meta.contains_key("aas.resource.group")); + assert!(span.meta.contains_key("aas.site.name")); + assert!(span.meta.contains_key("aas.site.kind")); + assert!(span.meta.contains_key("aas.site.type")); + } + } + #[test] fn test_enrich_span_with_azure_function_metadata_skips_azure_apim() { let mut span = create_test_span(1234, 12342, 12341, 1, false); From d3f64f5e0d705c6e9d060c201c2507d6e1d01354 Mon Sep 17 00:00:00 2001 From: Jordan Date: Mon, 15 Dec 2025 13:10:41 -0500 Subject: [PATCH 10/11] use to_lowercase --- libdd-trace-utils/src/trace_utils.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libdd-trace-utils/src/trace_utils.rs b/libdd-trace-utils/src/trace_utils.rs index e85cdab1da..373f78babc 100644 --- a/libdd-trace-utils/src/trace_utils.rs +++ b/libdd-trace-utils/src/trace_utils.rs @@ -550,7 +550,7 @@ pub fn enrich_span_with_google_cloud_function_metadata( } pub fn enrich_span_with_azure_function_metadata(span: &mut pb::Span) { - if span.name == "azure.apim" { + if span.name.to_lowercase() == "azure.apim" { return; } From 589b1869d78a92d5a10f58a185811700e8659e98 Mon Sep 17 00:00:00 2001 From: Jordan Date: Tue, 16 Dec 2025 09:53:56 -0500 Subject: [PATCH 11/11] remove to_lowercase --- libdd-trace-utils/src/trace_utils.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libdd-trace-utils/src/trace_utils.rs b/libdd-trace-utils/src/trace_utils.rs index 373f78babc..e85cdab1da 100644 --- a/libdd-trace-utils/src/trace_utils.rs +++ b/libdd-trace-utils/src/trace_utils.rs @@ -550,7 +550,7 @@ pub fn enrich_span_with_google_cloud_function_metadata( } pub fn enrich_span_with_azure_function_metadata(span: &mut pb::Span) { - if span.name.to_lowercase() == "azure.apim" { + if span.name == "azure.apim" { return; }