From 2560c6acc1db2a26f7a573bc60a868360c9086c0 Mon Sep 17 00:00:00 2001 From: otelbot <197425009+otelbot@users.noreply.github.com> Date: Sun, 3 May 2026 23:39:44 +0000 Subject: [PATCH 01/10] Cleanup for finatra-2.9:javaagent Automated module cleanup of instrumentation/finatra-2.9/javaagent. --- .../finatra/v2_9/FinatraSingletons.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/instrumentation/finatra-2.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/finatra/v2_9/FinatraSingletons.java b/instrumentation/finatra-2.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/finatra/v2_9/FinatraSingletons.java index 73f8973eda00..ab32f9499ebe 100644 --- a/instrumentation/finatra-2.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/finatra/v2_9/FinatraSingletons.java +++ b/instrumentation/finatra-2.9/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/finatra/v2_9/FinatraSingletons.java @@ -24,7 +24,7 @@ public class FinatraSingletons { public static final VirtualField THROWABLE = VirtualField.find(Response.class, Throwable.class); - private static final VirtualField> callbackClassField = + private static final VirtualField> CALLBACK_CLASS = VirtualField.find(Route.class, Class.class); private static final Instrumenter instrumenter; @@ -35,10 +35,7 @@ public class FinatraSingletons { Instrumenter.builder( GlobalOpenTelemetry.get(), "io.opentelemetry.finatra-2.9", - request -> - request.controllerClass() != null - ? ClassNames.simpleName(request.controllerClass()) - : "") + request -> ClassNames.simpleName(request.controllerClass())) .addAttributesExtractor(CodeAttributesExtractor.create(codeAttributesGetter)) .setEnabled(ExperimentalConfig.get().controllerTelemetryEnabled()) .buildInstrumenter(); @@ -53,12 +50,12 @@ public static void updateServerSpanName(Context context, RouteInfo routeInfo) { } public static void setCallbackClass(Route route, Class clazz) { - callbackClassField.set(route, clazz); + CALLBACK_CLASS.set(route, clazz); } @Nullable public static Class getCallbackClass(Route route) { - return callbackClassField.get(route); + return CALLBACK_CLASS.get(route); } private FinatraSingletons() {} From 7267200baecccc6643983f20a9729d967e869695 Mon Sep 17 00:00:00 2001 From: otelbot <197425009+otelbot@users.noreply.github.com> Date: Sun, 3 May 2026 23:44:22 +0000 Subject: [PATCH 02/10] Cleanup for google-http-client-1.19:javaagent Automated module cleanup of instrumentation/google-http-client-1.19/javaagent. --- instrumentation/google-http-client-1.19/metadata.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/instrumentation/google-http-client-1.19/metadata.yaml b/instrumentation/google-http-client-1.19/metadata.yaml index ed4644a9ec53..0137f9b73482 100644 --- a/instrumentation/google-http-client-1.19/metadata.yaml +++ b/instrumentation/google-http-client-1.19/metadata.yaml @@ -23,6 +23,7 @@ configurations: type: list default: "" - name: otel.instrumentation.common.peer-service-mapping + declarative_name: java.common.peer_service_mapping description: Used to specify a mapping from host names or IP addresses to peer services. type: map default: "" From a8c481942ff5a2bf9a1a782cfdad3096cfd8a4b0 Mon Sep 17 00:00:00 2001 From: otelbot <197425009+otelbot@users.noreply.github.com> Date: Sun, 3 May 2026 23:48:05 +0000 Subject: [PATCH 03/10] Cleanup for grails-3.0:javaagent Automated module cleanup of instrumentation/grails-3.0/javaagent. --- .../v3_0/UrlMappingsInfoHandlerAdapterInstrumentation.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/instrumentation/grails-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grails/v3_0/UrlMappingsInfoHandlerAdapterInstrumentation.java b/instrumentation/grails-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grails/v3_0/UrlMappingsInfoHandlerAdapterInstrumentation.java index 1799f3614d99..b196c974ed11 100644 --- a/instrumentation/grails-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grails/v3_0/UrlMappingsInfoHandlerAdapterInstrumentation.java +++ b/instrumentation/grails-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grails/v3_0/UrlMappingsInfoHandlerAdapterInstrumentation.java @@ -5,6 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.grails.v3_0; +import static io.opentelemetry.javaagent.instrumentation.grails.v3_0.GrailsServerSpanNaming.serverSpanName; import static net.bytebuddy.matcher.ElementMatchers.isPublic; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.takesArgument; @@ -49,7 +50,7 @@ public static void nameSpan(@Advice.Argument(2) Object handler) { HttpServerRoute.update( parentContext, HttpServerRouteSource.CONTROLLER, - GrailsServerSpanNaming.serverSpanName(), + serverSpanName(), (GrailsControllerUrlMappingInfo) handler); } } From 00c41b0e5053e0b022e784df6baad1349a8bd7d8 Mon Sep 17 00:00:00 2001 From: otelbot <197425009+otelbot@users.noreply.github.com> Date: Sun, 3 May 2026 23:51:00 +0000 Subject: [PATCH 04/10] Cleanup for graphql-java-12.0:javaagent Automated module cleanup of instrumentation/graphql-java/graphql-java-12.0/javaagent. --- .../instrumentation/graphql/v12_0/GraphqlInstrumentation.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/instrumentation/graphql-java/graphql-java-12.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/graphql/v12_0/GraphqlInstrumentation.java b/instrumentation/graphql-java/graphql-java-12.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/graphql/v12_0/GraphqlInstrumentation.java index f052bd75417d..883396812637 100644 --- a/instrumentation/graphql-java/graphql-java-12.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/graphql/v12_0/GraphqlInstrumentation.java +++ b/instrumentation/graphql-java/graphql-java-12.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/graphql/v12_0/GraphqlInstrumentation.java @@ -5,7 +5,6 @@ package io.opentelemetry.javaagent.instrumentation.graphql.v12_0; -import static io.opentelemetry.javaagent.instrumentation.graphql.v12_0.GraphqlSingletons.addInstrumentation; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.namedOneOf; import static net.bytebuddy.matcher.ElementMatchers.returns; @@ -38,7 +37,7 @@ public static class AddInstrumentationAdvice { @AssignReturned.ToReturned @Advice.OnMethodExit(suppress = Throwable.class, inline = false) public static Instrumentation onExit(@Advice.Return Instrumentation instrumentation) { - return addInstrumentation(instrumentation); + return GraphqlSingletons.addInstrumentation(instrumentation); } } } From 1c6545a965ba9ce537b42a07abf0f48807623bec Mon Sep 17 00:00:00 2001 From: otelbot <197425009+otelbot@users.noreply.github.com> Date: Sun, 3 May 2026 23:55:19 +0000 Subject: [PATCH 05/10] Cleanup for graphql-java-20.0:javaagent Automated module cleanup of instrumentation/graphql-java/graphql-java-20.0/javaagent. --- .../graphql-java-20.0/javaagent/build.gradle.kts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/instrumentation/graphql-java/graphql-java-20.0/javaagent/build.gradle.kts b/instrumentation/graphql-java/graphql-java-20.0/javaagent/build.gradle.kts index e1e8a9a1f7fa..3c65ff804bd0 100644 --- a/instrumentation/graphql-java/graphql-java-20.0/javaagent/build.gradle.kts +++ b/instrumentation/graphql-java/graphql-java-20.0/javaagent/build.gradle.kts @@ -29,12 +29,22 @@ tasks { systemProperty("collectMetadata", otelProps.collectMetadata) } + test { + systemProperty( + "metadataConfig", + "otel.instrumentation.graphql.operation-name-in-span-name.enabled=true", + ) + } + val testDataFetcher by registering(Test::class) { testClassesDirs = sourceSets.test.get().output.classesDirs classpath = sourceSets.test.get().runtimeClasspath jvmArgs("-Dotel.instrumentation.graphql.data-fetcher.enabled=true") - systemProperty("metadataConfig", "otel.instrumentation.graphql.data-fetcher.enabled=true") + systemProperty( + "metadataConfig", + "otel.instrumentation.graphql.operation-name-in-span-name.enabled=true,otel.instrumentation.graphql.data-fetcher.enabled=true", + ) } check { From f4e1a30daa3cf3360de3641a679c5112a9608fc3 Mon Sep 17 00:00:00 2001 From: otelbot <197425009+otelbot@users.noreply.github.com> Date: Sun, 3 May 2026 23:57:19 +0000 Subject: [PATCH 06/10] Cleanup for graphql-java-20.0:library Automated module cleanup of instrumentation/graphql-java/graphql-java-20.0/library. --- .../graphql-java/graphql-java-20.0/library/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation/graphql-java/graphql-java-20.0/library/build.gradle.kts b/instrumentation/graphql-java/graphql-java-20.0/library/build.gradle.kts index e05e6cdd6978..a286749a8267 100644 --- a/instrumentation/graphql-java/graphql-java-20.0/library/build.gradle.kts +++ b/instrumentation/graphql-java/graphql-java-20.0/library/build.gradle.kts @@ -15,6 +15,6 @@ if (otelProps.testLatestDeps) { } } -tasks.withType().configureEach { +tasks.test { jvmArgs("-Dotel.instrumentation.graphql.data-fetcher.enabled=true") } From 8a467b946821be1a824f37115dd39371b605037f Mon Sep 17 00:00:00 2001 From: otelbot <197425009+otelbot@users.noreply.github.com> Date: Mon, 4 May 2026 00:03:44 +0000 Subject: [PATCH 07/10] Cleanup for graphql-java-common-12.0:library Automated module cleanup of instrumentation/graphql-java/graphql-java-common-12.0/library. --- .../internal/OpenTelemetryInstrumentationHelper.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/instrumentation/graphql-java/graphql-java-common-12.0/library/src/main/java/io/opentelemetry/instrumentation/graphql/common/v12_0/internal/OpenTelemetryInstrumentationHelper.java b/instrumentation/graphql-java/graphql-java-common-12.0/library/src/main/java/io/opentelemetry/instrumentation/graphql/common/v12_0/internal/OpenTelemetryInstrumentationHelper.java index 5f8618c714fe..6ee2d7c61e78 100644 --- a/instrumentation/graphql-java/graphql-java-common-12.0/library/src/main/java/io/opentelemetry/instrumentation/graphql/common/v12_0/internal/OpenTelemetryInstrumentationHelper.java +++ b/instrumentation/graphql-java/graphql-java-common-12.0/library/src/main/java/io/opentelemetry/instrumentation/graphql/common/v12_0/internal/OpenTelemetryInstrumentationHelper.java @@ -5,9 +5,6 @@ package io.opentelemetry.instrumentation.graphql.common.v12_0.internal; -import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_MESSAGE; -import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_TYPE; - import graphql.ExecutionResult; import graphql.GraphQLError; import graphql.execution.instrumentation.InstrumentationContext; @@ -29,6 +26,7 @@ import graphql.util.TraverserContext; import graphql.util.TreeTransformerUtil; import io.opentelemetry.api.OpenTelemetry; +import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.api.trace.Span; @@ -45,6 +43,12 @@ * any time. */ public final class OpenTelemetryInstrumentationHelper { + // copied from ExceptionAttributes + private static final AttributeKey EXCEPTION_MESSAGE = + AttributeKey.stringKey("exception.message"); + private static final AttributeKey EXCEPTION_TYPE = + AttributeKey.stringKey("exception.type"); + private static final NodeVisitor sanitizingVisitor = new SanitizingVisitor(); private static final AstTransformer astTransformer = new AstTransformer(); From 7f2a18ccf266f2e4394c2ad4282b196f51ea965d Mon Sep 17 00:00:00 2001 From: otelbot <197425009+otelbot@users.noreply.github.com> Date: Mon, 4 May 2026 00:09:04 +0000 Subject: [PATCH 08/10] Cleanup for graphql-java-common-12.0:testing Automated module cleanup of instrumentation/graphql-java/graphql-java-common-12.0/testing. --- .../graphql/common/v12_0/AbstractGraphqlTest.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/instrumentation/graphql-java/graphql-java-common-12.0/testing/src/main/java/io/opentelemetry/instrumentation/graphql/common/v12_0/AbstractGraphqlTest.java b/instrumentation/graphql-java/graphql-java-common-12.0/testing/src/main/java/io/opentelemetry/instrumentation/graphql/common/v12_0/AbstractGraphqlTest.java index fb23ab8f35a3..cb1ed60b5c50 100644 --- a/instrumentation/graphql-java/graphql-java-common-12.0/testing/src/main/java/io/opentelemetry/instrumentation/graphql/common/v12_0/AbstractGraphqlTest.java +++ b/instrumentation/graphql-java/graphql-java-common-12.0/testing/src/main/java/io/opentelemetry/instrumentation/graphql/common/v12_0/AbstractGraphqlTest.java @@ -252,8 +252,9 @@ void successfulQueryWithoutName() { void parseError() { ExecutionResult result = graphql.execute("query foo bar"); - assertThat(result.getErrors()).hasSize(1); - assertThat(result.getErrors().get(0).getErrorType().toString()).isEqualTo("InvalidSyntax"); + assertThat(result.getErrors()) + .singleElement() + .satisfies(error -> assertThat(error.getErrorType().toString()).isEqualTo("InvalidSyntax")); getTesting() .waitAndAssertTraces( @@ -292,8 +293,10 @@ void validationError() { + " }"); // spotless:on - assertThat(result.getErrors()).hasSize(1); - assertThat(result.getErrors().get(0).getErrorType().toString()).isEqualTo("ValidationError"); + assertThat(result.getErrors()) + .singleElement() + .satisfies( + error -> assertThat(error.getErrorType().toString()).isEqualTo("ValidationError")); getTesting() .waitAndAssertTraces( From a9ae60e125103b9633e300fc469bab379a171f78 Mon Sep 17 00:00:00 2001 From: otelbot <197425009+otelbot@users.noreply.github.com> Date: Mon, 4 May 2026 00:12:38 +0000 Subject: [PATCH 09/10] Cleanup for grizzly-2.3:javaagent Automated module cleanup of instrumentation/grizzly-2.3/javaagent. --- instrumentation/grizzly-2.3/javaagent/build.gradle.kts | 2 +- .../instrumentation/grizzly/v2_3/FilterInstrumentation.java | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/instrumentation/grizzly-2.3/javaagent/build.gradle.kts b/instrumentation/grizzly-2.3/javaagent/build.gradle.kts index 4e92baae8591..d8acbb5b703e 100644 --- a/instrumentation/grizzly-2.3/javaagent/build.gradle.kts +++ b/instrumentation/grizzly-2.3/javaagent/build.gradle.kts @@ -28,7 +28,7 @@ dependencies { } tasks { - withType().configureEach { + test { // required on jdk17 jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED") jvmArgs("-XX:+IgnoreUnrecognizedVMOptions") diff --git a/instrumentation/grizzly-2.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/v2_3/FilterInstrumentation.java b/instrumentation/grizzly-2.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/v2_3/FilterInstrumentation.java index 79eb30daf540..3b41b5b05643 100644 --- a/instrumentation/grizzly-2.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/v2_3/FilterInstrumentation.java +++ b/instrumentation/grizzly-2.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/grizzly/v2_3/FilterInstrumentation.java @@ -21,7 +21,6 @@ import net.bytebuddy.asm.Advice; import net.bytebuddy.description.type.TypeDescription; import net.bytebuddy.matcher.ElementMatcher; -import org.glassfish.grizzly.filterchain.BaseFilter; import org.glassfish.grizzly.filterchain.FilterChainContext; class FilterInstrumentation implements TypeInstrumentation { @@ -52,8 +51,7 @@ public void transform(TypeTransformer transformer) { public static class HandleReadAdvice { @Advice.OnMethodEnter(suppress = Throwable.class, inline = false) - public static Scope onEnter( - @Advice.This BaseFilter it, @Advice.Argument(0) FilterChainContext ctx) { + public static Scope onEnter(@Advice.Argument(0) FilterChainContext ctx) { if (Java8BytecodeBridge.currentSpan().getSpanContext().isValid()) { return null; } @@ -62,7 +60,7 @@ public static Scope onEnter( } @Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class, inline = false) - public static void onExit(@Advice.This BaseFilter it, @Advice.Enter @Nullable Scope scope) { + public static void onExit(@Advice.Enter @Nullable Scope scope) { if (scope != null) { scope.close(); } From 4882059adc95be2b74014ddef5767ccb2aee9578 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Sun, 3 May 2026 17:45:40 -0700 Subject: [PATCH 10/10] revert --- .../graphql-java-20.0/javaagent/build.gradle.kts | 12 +----------- .../internal/OpenTelemetryInstrumentationHelper.java | 10 +++------- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/instrumentation/graphql-java/graphql-java-20.0/javaagent/build.gradle.kts b/instrumentation/graphql-java/graphql-java-20.0/javaagent/build.gradle.kts index 3c65ff804bd0..e1e8a9a1f7fa 100644 --- a/instrumentation/graphql-java/graphql-java-20.0/javaagent/build.gradle.kts +++ b/instrumentation/graphql-java/graphql-java-20.0/javaagent/build.gradle.kts @@ -29,22 +29,12 @@ tasks { systemProperty("collectMetadata", otelProps.collectMetadata) } - test { - systemProperty( - "metadataConfig", - "otel.instrumentation.graphql.operation-name-in-span-name.enabled=true", - ) - } - val testDataFetcher by registering(Test::class) { testClassesDirs = sourceSets.test.get().output.classesDirs classpath = sourceSets.test.get().runtimeClasspath jvmArgs("-Dotel.instrumentation.graphql.data-fetcher.enabled=true") - systemProperty( - "metadataConfig", - "otel.instrumentation.graphql.operation-name-in-span-name.enabled=true,otel.instrumentation.graphql.data-fetcher.enabled=true", - ) + systemProperty("metadataConfig", "otel.instrumentation.graphql.data-fetcher.enabled=true") } check { diff --git a/instrumentation/graphql-java/graphql-java-common-12.0/library/src/main/java/io/opentelemetry/instrumentation/graphql/common/v12_0/internal/OpenTelemetryInstrumentationHelper.java b/instrumentation/graphql-java/graphql-java-common-12.0/library/src/main/java/io/opentelemetry/instrumentation/graphql/common/v12_0/internal/OpenTelemetryInstrumentationHelper.java index 6ee2d7c61e78..5f8618c714fe 100644 --- a/instrumentation/graphql-java/graphql-java-common-12.0/library/src/main/java/io/opentelemetry/instrumentation/graphql/common/v12_0/internal/OpenTelemetryInstrumentationHelper.java +++ b/instrumentation/graphql-java/graphql-java-common-12.0/library/src/main/java/io/opentelemetry/instrumentation/graphql/common/v12_0/internal/OpenTelemetryInstrumentationHelper.java @@ -5,6 +5,9 @@ package io.opentelemetry.instrumentation.graphql.common.v12_0.internal; +import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_MESSAGE; +import static io.opentelemetry.semconv.ExceptionAttributes.EXCEPTION_TYPE; + import graphql.ExecutionResult; import graphql.GraphQLError; import graphql.execution.instrumentation.InstrumentationContext; @@ -26,7 +29,6 @@ import graphql.util.TraverserContext; import graphql.util.TreeTransformerUtil; import io.opentelemetry.api.OpenTelemetry; -import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.api.trace.Span; @@ -43,12 +45,6 @@ * any time. */ public final class OpenTelemetryInstrumentationHelper { - // copied from ExceptionAttributes - private static final AttributeKey EXCEPTION_MESSAGE = - AttributeKey.stringKey("exception.message"); - private static final AttributeKey EXCEPTION_TYPE = - AttributeKey.stringKey("exception.type"); - private static final NodeVisitor sanitizingVisitor = new SanitizingVisitor(); private static final AstTransformer astTransformer = new AstTransformer();