From aed6b3bf1e3a0f5a624c7533ff45cbaeaa28e9be Mon Sep 17 00:00:00 2001 From: Alexander Dinauer Date: Thu, 3 Jul 2025 09:48:40 +0200 Subject: [PATCH 1/5] do not override span name if customized --- .../SentryAutoConfigurationCustomizerProvider.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java b/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java index e1902f1bed7..0d1a8e4b030 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java +++ b/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java @@ -14,6 +14,8 @@ import io.sentry.protocol.SentryPackage; import java.util.HashMap; import java.util.Map; +import java.util.Properties; + import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -25,6 +27,7 @@ public final class SentryAutoConfigurationCustomizerProvider @Override public void customize(AutoConfigurationCustomizer autoConfiguration) { ensureSentryOtelStorageIsInitialized(); + customizeOpenTelemetryDefaults(); final @Nullable ManifestVersionReader.VersionInfoHolder versionInfoHolder = ManifestVersionReader.getInstance().readOpenTelemetryVersion(); @@ -63,6 +66,16 @@ private static void ensureSentryOtelStorageIsInitialized() { Sentry.getGlobalScope(); } + private void customizeOpenTelemetryDefaults() { + try { + if (System.getProperty("otel.instrumentation.graphql.add-operation-name-to-span-name.enabled") == null) { + System.setProperty("otel.instrumentation.graphql.add-operation-name-to-span-name.enabled", "true"); + } + } catch (Exception e) { + // TODO log + } + } + private boolean isSentryAutoInitEnabled() { if (skipInit) { return false; From ef814c1070617a513f1a6acabc9d12b338d10a38 Mon Sep 17 00:00:00 2001 From: Sentry Github Bot Date: Thu, 3 Jul 2025 07:51:37 +0000 Subject: [PATCH 2/5] Format code --- .../SentryAutoConfigurationCustomizerProvider.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java b/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java index 0d1a8e4b030..3d23def79ff 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java +++ b/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java @@ -14,8 +14,6 @@ import io.sentry.protocol.SentryPackage; import java.util.HashMap; import java.util.Map; -import java.util.Properties; - import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -68,8 +66,10 @@ private static void ensureSentryOtelStorageIsInitialized() { private void customizeOpenTelemetryDefaults() { try { - if (System.getProperty("otel.instrumentation.graphql.add-operation-name-to-span-name.enabled") == null) { - System.setProperty("otel.instrumentation.graphql.add-operation-name-to-span-name.enabled", "true"); + if (System.getProperty("otel.instrumentation.graphql.add-operation-name-to-span-name.enabled") + == null) { + System.setProperty( + "otel.instrumentation.graphql.add-operation-name-to-span-name.enabled", "true"); } } catch (Exception e) { // TODO log From 0af3767aa97843b08c398ec031623b81235ba338 Mon Sep 17 00:00:00 2001 From: Alexander Dinauer Date: Thu, 3 Jul 2025 10:28:55 +0200 Subject: [PATCH 3/5] log in case system property cannot be set --- .../SentryAutoConfigurationCustomizerProvider.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java b/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java index 3d23def79ff..f7d54bdc393 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java +++ b/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java @@ -14,12 +14,17 @@ import io.sentry.protocol.SentryPackage; import java.util.HashMap; import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; + import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; public final class SentryAutoConfigurationCustomizerProvider implements AutoConfigurationCustomizerProvider { + private static final Logger logger = Logger.getLogger(SentryAutoConfigurationCustomizerProvider.class.getName()); + public static volatile boolean skipInit = false; @Override @@ -72,7 +77,7 @@ private void customizeOpenTelemetryDefaults() { "otel.instrumentation.graphql.add-operation-name-to-span-name.enabled", "true"); } } catch (Exception e) { - // TODO log + logger.log(Level.WARNING, "Unable to change OpenTelemetry defaults for use with Sentry.", e); } } From 2def353dff7b9d3697d8a692153434d08d544da7 Mon Sep 17 00:00:00 2001 From: Alexander Dinauer Date: Thu, 3 Jul 2025 10:31:59 +0200 Subject: [PATCH 4/5] merge --- .../SentryAutoConfigurationCustomizerProvider.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java b/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java index f7d54bdc393..59801643678 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java +++ b/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java @@ -16,14 +16,14 @@ import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; - import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; public final class SentryAutoConfigurationCustomizerProvider implements AutoConfigurationCustomizerProvider { - private static final Logger logger = Logger.getLogger(SentryAutoConfigurationCustomizerProvider.class.getName()); + private static final Logger logger = + Logger.getLogger(SentryAutoConfigurationCustomizerProvider.class.getName()); public static volatile boolean skipInit = false; From 4f5e29da33d39a5f457372e37d0468d3e31c4ca0 Mon Sep 17 00:00:00 2001 From: Alexander Dinauer Date: Thu, 3 Jul 2025 11:22:36 +0200 Subject: [PATCH 5/5] changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d56be095db6..c768770511c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,15 @@ - Fix javadoc on TransportResult ([#4528](https://github.com/getsentry/sentry-java/pull/4528)) +### Dependencies + +- Bump OpenTelemetry ([#4532](https://github.com/getsentry/sentry-java/pull/4532)) + - `opentelemetry-sdk` to `1.51.0` + - `opentelemetry-instrumentation` to `2.17.0` + - `opentelemetry-javaagent` to `2.17.0` + - `opentelemetry-semconv` to `1.34.0` + - We are now configuring OpenTelemetry to still behave the same way it did before for span names it generates in GraphQL auto instrumentation ([#4537](https://github.com/getsentry/sentry-java/pull/4537)) + ## 8.16.0 ### Features