From cf146c6ca89a2d242ae2e1c3928516ade3fabe69 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Thu, 28 Aug 2025 20:23:14 -0700 Subject: [PATCH 1/2] TEST --- .github/workflows/build-common.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-common.yml b/.github/workflows/build-common.yml index 3a744dcb52c..c01397f634a 100644 --- a/.github/workflows/build-common.yml +++ b/.github/workflows/build-common.yml @@ -10,7 +10,7 @@ on: env: # set this to : to build and test with an unreleased # version of the azure-monitor-opentelemetry-autoconfigure dependency - AZURE_MONITOR_OPENTELEMETRY_AUTOCONFIGURE_SNAPSHOT: + AZURE_MONITOR_OPENTELEMETRY_AUTOCONFIGURE_SNAPSHOT: trask/azure-sdk-for-java:semconv2 jobs: spotless: From 369d1e125886394f889a90fefd0ab7bf3ff07590 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Fri, 29 Aug 2025 10:42:35 -0700 Subject: [PATCH 2/2] Remove dependency on autoconfigure SemanticAttributes copy --- .../configuration/ConfigurationBuilder.java | 60 ++++++++++--------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/ConfigurationBuilder.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/ConfigurationBuilder.java index a420aebe94b..ed66c6aa00f 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/ConfigurationBuilder.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/configuration/ConfigurationBuilder.java @@ -3,7 +3,6 @@ package com.microsoft.applicationinsights.agent.internal.configuration; -import com.azure.monitor.opentelemetry.autoconfigure.implementation.SemanticAttributes; import com.azure.monitor.opentelemetry.autoconfigure.implementation.statsbeat.RpAttachType; import com.azure.monitor.opentelemetry.autoconfigure.implementation.utils.HostName; import com.azure.monitor.opentelemetry.autoconfigure.implementation.utils.Strings; @@ -22,6 +21,13 @@ import com.microsoft.applicationinsights.agent.internal.configuration.Configuration.SamplingOverride; import com.microsoft.applicationinsights.agent.internal.diagnostics.DiagnosticsHelper; import io.opentelemetry.api.common.AttributeKey; +import io.opentelemetry.semconv.ClientAttributes; +import io.opentelemetry.semconv.HttpAttributes; +import io.opentelemetry.semconv.NetworkAttributes; +import io.opentelemetry.semconv.ServerAttributes; +import io.opentelemetry.semconv.UrlAttributes; +import io.opentelemetry.semconv.incubating.HttpIncubatingAttributes; +import io.opentelemetry.semconv.incubating.NetIncubatingAttributes; import java.io.IOException; import java.net.URL; import java.net.URLDecoder; @@ -359,44 +365,44 @@ private static void supportTelemetryProcessorsOldSemConv(Configuration config) { private static String mapAttributeKey(String oldAttributeKey) { String result = null; // Common attributes across HTTP client and server spans - if (oldAttributeKey.equals(SemanticAttributes.HTTP_METHOD.getKey())) { - result = SemanticAttributes.HTTP_REQUEST_METHOD.getKey(); - } else if (oldAttributeKey.equals(SemanticAttributes.HTTP_STATUS_CODE.getKey())) { - result = SemanticAttributes.HTTP_RESPONSE_STATUS_CODE.getKey(); + if (oldAttributeKey.equals(HttpIncubatingAttributes.HTTP_METHOD.getKey())) { + result = HttpAttributes.HTTP_REQUEST_METHOD.getKey(); + } else if (oldAttributeKey.equals(HttpIncubatingAttributes.HTTP_STATUS_CODE.getKey())) { + result = HttpAttributes.HTTP_RESPONSE_STATUS_CODE.getKey(); } else if (oldAttributeKey.startsWith("http.request.header.") || oldAttributeKey.startsWith("http.response.header.")) { result = oldAttributeKey.replace('_', '-'); - } else if (oldAttributeKey.equals(SemanticAttributes.NET_PROTOCOL_NAME.getKey())) { - result = SemanticAttributes.NETWORK_PROTOCOL_NAME.getKey(); - } else if (oldAttributeKey.equals(SemanticAttributes.NET_PROTOCOL_VERSION.getKey())) { - result = SemanticAttributes.NETWORK_PROTOCOL_VERSION.getKey(); - } else if (oldAttributeKey.equals(SemanticAttributes.NET_SOCK_PEER_ADDR.getKey())) { - result = SemanticAttributes.NETWORK_PEER_ADDRESS.getKey(); - } else if (oldAttributeKey.equals(SemanticAttributes.NET_SOCK_PEER_PORT.getKey())) { - result = SemanticAttributes.NETWORK_PEER_PORT.getKey(); + } else if (oldAttributeKey.equals(NetIncubatingAttributes.NET_PROTOCOL_NAME.getKey())) { + result = NetworkAttributes.NETWORK_PROTOCOL_NAME.getKey(); + } else if (oldAttributeKey.equals(NetIncubatingAttributes.NET_PROTOCOL_VERSION.getKey())) { + result = NetworkAttributes.NETWORK_PROTOCOL_VERSION.getKey(); + } else if (oldAttributeKey.equals(NetIncubatingAttributes.NET_SOCK_PEER_ADDR.getKey())) { + result = NetworkAttributes.NETWORK_PEER_ADDRESS.getKey(); + } else if (oldAttributeKey.equals(NetIncubatingAttributes.NET_SOCK_PEER_PORT.getKey())) { + result = NetworkAttributes.NETWORK_PEER_PORT.getKey(); } // HTTP client span attributes // http.url is handled via LazyHttpUrl - if (oldAttributeKey.equals(SemanticAttributes.HTTP_RESEND_COUNT.getKey())) { - result = SemanticAttributes.HTTP_REQUEST_RESEND_COUNT.getKey(); + if (oldAttributeKey.equals("http.resend_count")) { + result = HttpAttributes.HTTP_REQUEST_RESEND_COUNT.getKey(); // becomes available. - } else if (oldAttributeKey.equals(SemanticAttributes.NET_PEER_NAME.getKey())) { - result = SemanticAttributes.SERVER_ADDRESS.getKey(); - } else if (oldAttributeKey.equals(SemanticAttributes.NET_PEER_PORT.getKey())) { - result = SemanticAttributes.SERVER_PORT.getKey(); + } else if (oldAttributeKey.equals(NetIncubatingAttributes.NET_PEER_NAME.getKey())) { + result = ServerAttributes.SERVER_ADDRESS.getKey(); + } else if (oldAttributeKey.equals(NetIncubatingAttributes.NET_PEER_PORT.getKey())) { + result = ServerAttributes.SERVER_PORT.getKey(); } // HTTP server span attributes // http.target is handled via LazyHttpTarget - if (oldAttributeKey.equals(SemanticAttributes.HTTP_SCHEME.getKey())) { - result = SemanticAttributes.URL_SCHEME.getKey(); - } else if (oldAttributeKey.equals(SemanticAttributes.HTTP_CLIENT_IP.getKey())) { - result = SemanticAttributes.CLIENT_ADDRESS.getKey(); - } else if (oldAttributeKey.equals(SemanticAttributes.NET_HOST_NAME.getKey())) { - result = SemanticAttributes.SERVER_ADDRESS.getKey(); - } else if (oldAttributeKey.equals(SemanticAttributes.NET_HOST_PORT.getKey())) { - result = SemanticAttributes.SERVER_PORT.getKey(); + if (oldAttributeKey.equals(HttpIncubatingAttributes.HTTP_SCHEME.getKey())) { + result = UrlAttributes.URL_SCHEME.getKey(); + } else if (oldAttributeKey.equals(HttpIncubatingAttributes.HTTP_CLIENT_IP.getKey())) { + result = ClientAttributes.CLIENT_ADDRESS.getKey(); + } else if (oldAttributeKey.equals(NetIncubatingAttributes.NET_HOST_NAME.getKey())) { + result = ServerAttributes.SERVER_ADDRESS.getKey(); + } else if (oldAttributeKey.equals(NetIncubatingAttributes.NET_HOST_PORT.getKey())) { + result = ServerAttributes.SERVER_PORT.getKey(); } if (result == null) {