Skip to content

Commit 3166922

Browse files
Restore span names for GraphQL on the new version of OpenTelemetry (by changing OpenTelemetry defaults) (#4537)
* do not override span name if customized * Format code * log in case system property cannot be set * merge * changelog --------- Co-authored-by: Sentry Github Bot <bot+github-bot@sentry.io>
1 parent d533746 commit 3166922

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@
66

77
- Fix javadoc on TransportResult ([#4528](https://github.com/getsentry/sentry-java/pull/4528))
88

9+
### Dependencies
10+
11+
- Bump OpenTelemetry ([#4532](https://github.com/getsentry/sentry-java/pull/4532))
12+
- `opentelemetry-sdk` to `1.51.0`
13+
- `opentelemetry-instrumentation` to `2.17.0`
14+
- `opentelemetry-javaagent` to `2.17.0`
15+
- `opentelemetry-semconv` to `1.34.0`
16+
- 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))
17+
918
## 8.16.0
1019

1120
### Features

sentry-opentelemetry/sentry-opentelemetry-agentcustomization/src/main/java/io/sentry/opentelemetry/SentryAutoConfigurationCustomizerProvider.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,23 @@
1414
import io.sentry.protocol.SentryPackage;
1515
import java.util.HashMap;
1616
import java.util.Map;
17+
import java.util.logging.Level;
18+
import java.util.logging.Logger;
1719
import org.jetbrains.annotations.NotNull;
1820
import org.jetbrains.annotations.Nullable;
1921

2022
public final class SentryAutoConfigurationCustomizerProvider
2123
implements AutoConfigurationCustomizerProvider {
2224

25+
private static final Logger logger =
26+
Logger.getLogger(SentryAutoConfigurationCustomizerProvider.class.getName());
27+
2328
public static volatile boolean skipInit = false;
2429

2530
@Override
2631
public void customize(AutoConfigurationCustomizer autoConfiguration) {
2732
ensureSentryOtelStorageIsInitialized();
33+
customizeOpenTelemetryDefaults();
2834
final @Nullable ManifestVersionReader.VersionInfoHolder versionInfoHolder =
2935
ManifestVersionReader.getInstance().readOpenTelemetryVersion();
3036

@@ -63,6 +69,18 @@ private static void ensureSentryOtelStorageIsInitialized() {
6369
Sentry.getGlobalScope();
6470
}
6571

72+
private void customizeOpenTelemetryDefaults() {
73+
try {
74+
if (System.getProperty("otel.instrumentation.graphql.add-operation-name-to-span-name.enabled")
75+
== null) {
76+
System.setProperty(
77+
"otel.instrumentation.graphql.add-operation-name-to-span-name.enabled", "true");
78+
}
79+
} catch (Exception e) {
80+
logger.log(Level.WARNING, "Unable to change OpenTelemetry defaults for use with Sentry.", e);
81+
}
82+
}
83+
6684
private boolean isSentryAutoInitEnabled() {
6785
if (skipInit) {
6886
return false;

0 commit comments

Comments
 (0)