From 3b884f7a001d5447293f57d36bed973905064964 Mon Sep 17 00:00:00 2001 From: Alexander Dinauer Date: Tue, 25 Aug 2026 06:35:33 +0200 Subject: [PATCH] fix(opentelemetry): Exclude queries from span descriptions Parse the url.full fallback through the shared URL utility before using it as an HTTP span description. This removes query parameters and fragments while preserving route and target handling. Refs #5666 Co-Authored-By: Claude --- .../io/sentry/opentelemetry/SpanDescriptionExtractor.java | 7 +++---- .../src/test/kotlin/SpanDescriptionExtractorTest.kt | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SpanDescriptionExtractor.java b/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SpanDescriptionExtractor.java index 3af3d8f96f0..d4dde49a4b6 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SpanDescriptionExtractor.java +++ b/sentry-opentelemetry/sentry-opentelemetry-core/src/main/java/io/sentry/opentelemetry/SpanDescriptionExtractor.java @@ -10,6 +10,7 @@ import io.opentelemetry.semconv.incubating.MessagingIncubatingAttributes; import io.sentry.SentryOptions; import io.sentry.protocol.TransactionNameSource; +import io.sentry.util.UrlUtils; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -77,10 +78,8 @@ private OtelSpanInfo descriptionForHttpMethod( final @NotNull String op = opBuilder.toString(); final @Nullable String urlFull = attributes.get(UrlAttributes.URL_FULL); - if (urlFull != null) { - if (httpPath == null) { - httpPath = urlFull; - } + if (urlFull != null && httpPath == null) { + httpPath = UrlUtils.parse(urlFull).getUrl(); } final @Nullable String urlPath = attributes.get(UrlAttributes.URL_PATH); diff --git a/sentry-opentelemetry/sentry-opentelemetry-core/src/test/kotlin/SpanDescriptionExtractorTest.kt b/sentry-opentelemetry/sentry-opentelemetry-core/src/test/kotlin/SpanDescriptionExtractorTest.kt index a43afb849e6..04de1e97078 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-core/src/test/kotlin/SpanDescriptionExtractorTest.kt +++ b/sentry-opentelemetry/sentry-opentelemetry-core/src/test/kotlin/SpanDescriptionExtractorTest.kt @@ -113,7 +113,7 @@ class SpanDescriptionExtractorTest { val info = whenExtractingSpanInfo() assertEquals("http.server", info.op) - assertEquals("GET https://sentry.io/some/path?q=1#top", info.description) + assertEquals("GET https://sentry.io/some/path", info.description) assertEquals(TransactionNameSource.URL, info.transactionNameSource) }