From 18d8762d4579977c22db24671299e903054bc1bb Mon Sep 17 00:00:00 2001 From: ADITYA-CODE-SOURCE Date: Thu, 14 May 2026 21:26:47 +0530 Subject: [PATCH 1/5] Fix Groovy OpenTelemetrySdk builder loading --- sdk/all/build.gradle.kts | 1 + .../sdk/OpenTelemetrySdkBuilder.java | 50 +++++++++++++++++-- .../internal/OpenTelemetrySdkBuilderUtil.java | 3 +- .../sdk/OpenTelemetrySdkTest.java | 19 +++++++ 4 files changed, 66 insertions(+), 7 deletions(-) diff --git a/sdk/all/build.gradle.kts b/sdk/all/build.gradle.kts index 313726e1723..86875e15a8e 100644 --- a/sdk/all/build.gradle.kts +++ b/sdk/all/build.gradle.kts @@ -24,6 +24,7 @@ dependencies { testAnnotationProcessor("com.google.auto.value:auto-value") + testImplementation("org.apache.groovy:groovy:4.0.25") testImplementation(project(":sdk:testing")) jmh(project(":sdk:testing")) diff --git a/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java b/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java index c7168599554..b460778b527 100644 --- a/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java +++ b/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java @@ -10,12 +10,13 @@ import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.context.propagation.ContextPropagators; import io.opentelemetry.sdk.internal.OpenTelemetrySdkBuilderUtil; -import io.opentelemetry.sdk.internal.SdkConfigProvider; import io.opentelemetry.sdk.logs.SdkLoggerProvider; import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder; import io.opentelemetry.sdk.metrics.SdkMeterProvider; import io.opentelemetry.sdk.trace.SdkTracerProvider; import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import javax.annotation.Nullable; /** A builder for configuring an {@link OpenTelemetrySdk}. */ @@ -28,16 +29,28 @@ public final class OpenTelemetrySdkBuilder { @Nullable private Object configProvider; private static final boolean INCUBATOR_AVAILABLE; + @Nullable private static final Method CREATE_EXTENDED_OPEN_TELEMETRY_SDK_METHOD; static { boolean incubatorAvailable = false; + Method createExtendedOpenTelemetrySdk = null; try { Class.forName("io.opentelemetry.api.incubator.ExtendedOpenTelemetry"); + createExtendedOpenTelemetrySdk = + Class.forName("io.opentelemetry.sdk.IncubatingUtil") + .getDeclaredMethod( + "createExtendedOpenTelemetrySdk", OpenTelemetrySdk.class, Object.class); incubatorAvailable = true; } catch (ClassNotFoundException e) { // Not available + } catch (NoSuchMethodException e) { + throw new IllegalStateException( + "IncubatingUtil.createExtendedOpenTelemetrySdk could not be found." + + " This is a bug in OpenTelemetry.", + e); } INCUBATOR_AVAILABLE = incubatorAvailable; + CREATE_EXTENDED_OPEN_TELEMETRY_SDK_METHOD = createExtendedOpenTelemetrySdk; } /** @@ -89,12 +102,13 @@ public OpenTelemetrySdkBuilder setPropagators(ContextPropagators propagators) { } /** - * Sets the {@link SdkConfigProvider} to use. + * Sets the SDK config provider to use. * *

This method is experimental so not public. You may reflectively call it using {@link - * OpenTelemetrySdkBuilderUtil#setConfigProvider(OpenTelemetrySdkBuilder, SdkConfigProvider)}. + * OpenTelemetrySdkBuilderUtil#setConfigProvider(OpenTelemetrySdkBuilder, + * io.opentelemetry.sdk.internal.SdkConfigProvider)}. */ - OpenTelemetrySdkBuilder setConfigProvider(SdkConfigProvider configProvider) { + OpenTelemetrySdkBuilder setConfigProvider(Object configProvider) { this.configProvider = requireNonNull(configProvider); return this; } @@ -143,7 +157,33 @@ public OpenTelemetrySdk build() { OpenTelemetrySdk openTelemetrySdk = new OpenTelemetrySdk(tracerProvider, meterProvider, loggerProvider, propagators); return INCUBATOR_AVAILABLE - ? IncubatingUtil.createExtendedOpenTelemetrySdk(openTelemetrySdk, configProvider) + ? createExtendedOpenTelemetrySdk(openTelemetrySdk, configProvider) : openTelemetrySdk; } + + private static OpenTelemetrySdk createExtendedOpenTelemetrySdk( + OpenTelemetrySdk openTelemetrySdk, @Nullable Object configProvider) { + try { + return (OpenTelemetrySdk) + requireNonNull(CREATE_EXTENDED_OPEN_TELEMETRY_SDK_METHOD) + .invoke(null, openTelemetrySdk, configProvider); + } catch (IllegalAccessException e) { + throw new IllegalStateException( + "IncubatingUtil.createExtendedOpenTelemetrySdk could not be invoked." + + " This is a bug in OpenTelemetry.", + e); + } catch (InvocationTargetException e) { + Throwable cause = e.getTargetException(); + if (cause instanceof RuntimeException) { + throw (RuntimeException) cause; + } + if (cause instanceof Error) { + throw (Error) cause; + } + throw new IllegalStateException( + "IncubatingUtil.createExtendedOpenTelemetrySdk failed." + + " This is a bug in OpenTelemetry.", + cause); + } + } } diff --git a/sdk/all/src/main/java/io/opentelemetry/sdk/internal/OpenTelemetrySdkBuilderUtil.java b/sdk/all/src/main/java/io/opentelemetry/sdk/internal/OpenTelemetrySdkBuilderUtil.java index ff017d64fc0..f34b645eea7 100644 --- a/sdk/all/src/main/java/io/opentelemetry/sdk/internal/OpenTelemetrySdkBuilderUtil.java +++ b/sdk/all/src/main/java/io/opentelemetry/sdk/internal/OpenTelemetrySdkBuilderUtil.java @@ -27,8 +27,7 @@ public static OpenTelemetrySdkBuilder setConfigProvider( OpenTelemetrySdkBuilder builder, SdkConfigProvider configProvider) { try { Method method = - OpenTelemetrySdkBuilder.class.getDeclaredMethod( - "setConfigProvider", SdkConfigProvider.class); + OpenTelemetrySdkBuilder.class.getDeclaredMethod("setConfigProvider", Object.class); method.setAccessible(true); method.invoke(builder, configProvider); } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { diff --git a/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java b/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java index c6a48a0dbad..d8bb9a008ff 100644 --- a/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java +++ b/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java @@ -39,6 +39,7 @@ import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; import io.opentelemetry.sdk.trace.export.SpanExporter; import io.opentelemetry.sdk.trace.samplers.Sampler; +import groovy.lang.GroovyClassLoader; import java.time.Duration; import java.util.concurrent.TimeUnit; import org.junit.jupiter.api.AfterEach; @@ -138,6 +139,24 @@ void builder() { assertThat(openTelemetry.getPropagators()).isEqualTo(propagators); } + @Test + void builder_fromGroovyWithoutIncubator() throws Exception { + try (GroovyClassLoader groovyClassLoader = + new GroovyClassLoader(getClass().getClassLoader())) { + Class groovyClass = + groovyClassLoader.parseClass( + "import io.opentelemetry.sdk.OpenTelemetrySdk\n" + + "class GroovyBuilderCaller {\n" + + " static Object buildSdk() {\n" + + " OpenTelemetrySdk.builder().build()\n" + + " }\n" + + "}\n"); + + assertThat(groovyClass.getMethod("buildSdk").invoke(null)) + .isInstanceOf(OpenTelemetrySdk.class); + } + } + @Test void getTracer() { assertThat(GlobalOpenTelemetry.getTracer("testTracer1")) From d0880e4e528e83454a049e6f2f8bad8e45bdba39 Mon Sep 17 00:00:00 2001 From: ADITYA-CODE-SOURCE Date: Thu, 14 May 2026 22:22:04 +0530 Subject: [PATCH 2/5] Fix Groovy builder test formatting --- .../test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java b/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java index d8bb9a008ff..bbe6b22f197 100644 --- a/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java +++ b/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java @@ -141,8 +141,7 @@ void builder() { @Test void builder_fromGroovyWithoutIncubator() throws Exception { - try (GroovyClassLoader groovyClassLoader = - new GroovyClassLoader(getClass().getClassLoader())) { + try (GroovyClassLoader groovyClassLoader = new GroovyClassLoader(getClass().getClassLoader())) { Class groovyClass = groovyClassLoader.parseClass( "import io.opentelemetry.sdk.OpenTelemetrySdk\n" From d5ffc54005f7a2106bb1e1521f30177a1ff01d78 Mon Sep 17 00:00:00 2001 From: ADITYA-CODE-SOURCE Date: Fri, 15 May 2026 09:35:23 +0530 Subject: [PATCH 3/5] Refine Groovy builder fix comments --- .../io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java | 10 ++++++++++ .../io/opentelemetry/sdk/OpenTelemetrySdkTest.java | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java b/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java index b460778b527..e88ffb1d02a 100644 --- a/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java +++ b/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java @@ -107,6 +107,9 @@ public OpenTelemetrySdkBuilder setPropagators(ContextPropagators propagators) { *

This method is experimental so not public. You may reflectively call it using {@link * OpenTelemetrySdkBuilderUtil#setConfigProvider(OpenTelemetrySdkBuilder, * io.opentelemetry.sdk.internal.SdkConfigProvider)}. + * + *

The parameter type is {@link Object} to avoid introducing another direct incubator-linked + * method signature in the path Groovy eagerly inspects. */ OpenTelemetrySdkBuilder setConfigProvider(Object configProvider) { this.configProvider = requireNonNull(configProvider); @@ -172,8 +175,15 @@ private static OpenTelemetrySdk createExtendedOpenTelemetrySdk( "IncubatingUtil.createExtendedOpenTelemetrySdk could not be invoked." + " This is a bug in OpenTelemetry.", e); + } catch (IllegalArgumentException e) { + throw new IllegalStateException( + "IncubatingUtil.createExtendedOpenTelemetrySdk could not be called with the expected" + + " arguments. This is a bug in OpenTelemetry.", + e); } catch (InvocationTargetException e) { Throwable cause = e.getTargetException(); + // Preserve the original application behavior rather than wrapping runtime failures emitted + // by the incubator path in a reflective InvocationTargetException. if (cause instanceof RuntimeException) { throw (RuntimeException) cause; } diff --git a/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java b/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java index bbe6b22f197..d73bbe5cb7c 100644 --- a/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java +++ b/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java @@ -14,6 +14,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import groovy.lang.GroovyClassLoader; import io.github.netmikey.logunit.api.LogCapturer; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.OpenTelemetry; @@ -39,7 +40,6 @@ import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; import io.opentelemetry.sdk.trace.export.SpanExporter; import io.opentelemetry.sdk.trace.samplers.Sampler; -import groovy.lang.GroovyClassLoader; import java.time.Duration; import java.util.concurrent.TimeUnit; import org.junit.jupiter.api.AfterEach; @@ -140,7 +140,7 @@ void builder() { } @Test - void builder_fromGroovyWithoutIncubator() throws Exception { + void buildFromGroovyWithoutIncubator() throws Exception { try (GroovyClassLoader groovyClassLoader = new GroovyClassLoader(getClass().getClassLoader())) { Class groovyClass = groovyClassLoader.parseClass( From aa2fdc1a7943923f106662ef26554cceeb72c45b Mon Sep 17 00:00:00 2001 From: ADITYA-CODE-SOURCE Date: Fri, 15 May 2026 10:04:27 +0530 Subject: [PATCH 4/5] Add Groovy builder branch coverage --- .../sdk/OpenTelemetrySdkBuilder.java | 11 +- .../sdk/OpenTelemetrySdkTest.java | 105 ++++++++++++++++++ 2 files changed, 114 insertions(+), 2 deletions(-) diff --git a/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java b/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java index e88ffb1d02a..cd097d314f3 100644 --- a/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java +++ b/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java @@ -166,10 +166,17 @@ public OpenTelemetrySdk build() { private static OpenTelemetrySdk createExtendedOpenTelemetrySdk( OpenTelemetrySdk openTelemetrySdk, @Nullable Object configProvider) { + return createExtendedOpenTelemetrySdk( + requireNonNull(CREATE_EXTENDED_OPEN_TELEMETRY_SDK_METHOD), openTelemetrySdk, configProvider); + } + + static OpenTelemetrySdk createExtendedOpenTelemetrySdk( + Method createExtendedOpenTelemetrySdkMethod, + OpenTelemetrySdk openTelemetrySdk, + @Nullable Object configProvider) { try { return (OpenTelemetrySdk) - requireNonNull(CREATE_EXTENDED_OPEN_TELEMETRY_SDK_METHOD) - .invoke(null, openTelemetrySdk, configProvider); + createExtendedOpenTelemetrySdkMethod.invoke(null, openTelemetrySdk, configProvider); } catch (IllegalAccessException e) { throw new IllegalStateException( "IncubatingUtil.createExtendedOpenTelemetrySdk could not be invoked." diff --git a/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java b/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java index d73bbe5cb7c..a809bc731fa 100644 --- a/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java +++ b/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java @@ -40,8 +40,10 @@ import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; import io.opentelemetry.sdk.trace.export.SpanExporter; import io.opentelemetry.sdk.trace.samplers.Sampler; +import java.lang.reflect.Method; import java.time.Duration; import java.util.concurrent.TimeUnit; +import javax.annotation.Nullable; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -156,6 +158,109 @@ void buildFromGroovyWithoutIncubator() throws Exception { } } + @Test + void createExtendedOpenTelemetrySdk_rethrowsRuntimeException() throws Exception { + Method method = + OpenTelemetrySdkTest.class.getDeclaredMethod( + "throwRuntimeException", OpenTelemetrySdk.class, Object.class); + + assertThatThrownBy( + () -> + OpenTelemetrySdkBuilder.createExtendedOpenTelemetrySdk( + method, OpenTelemetrySdk.builder().build(), null)) + .isInstanceOf(IllegalStateException.class) + .hasMessage("runtime boom"); + } + + @Test + void createExtendedOpenTelemetrySdk_rethrowsError() throws Exception { + Method method = + OpenTelemetrySdkTest.class.getDeclaredMethod( + "throwError", OpenTelemetrySdk.class, Object.class); + + assertThatThrownBy( + () -> + OpenTelemetrySdkBuilder.createExtendedOpenTelemetrySdk( + method, OpenTelemetrySdk.builder().build(), null)) + .isInstanceOf(AssertionError.class) + .hasMessage("error boom"); + } + + @Test + void createExtendedOpenTelemetrySdk_wrapsCheckedException() throws Exception { + Method method = + OpenTelemetrySdkTest.class.getDeclaredMethod( + "throwCheckedException", OpenTelemetrySdk.class, Object.class); + + assertThatThrownBy( + () -> + OpenTelemetrySdkBuilder.createExtendedOpenTelemetrySdk( + method, OpenTelemetrySdk.builder().build(), null)) + .isInstanceOf(IllegalStateException.class) + .hasMessage( + "IncubatingUtil.createExtendedOpenTelemetrySdk failed. This is a bug in OpenTelemetry.") + .cause() + .isInstanceOf(Exception.class) + .hasMessage("checked boom"); + } + + @Test + void createExtendedOpenTelemetrySdk_wrapsIllegalArgumentException() throws Exception { + Method method = OpenTelemetrySdkTest.class.getDeclaredMethod("wrongSignature", String.class); + + assertThatThrownBy( + () -> + OpenTelemetrySdkBuilder.createExtendedOpenTelemetrySdk( + method, OpenTelemetrySdk.builder().build(), null)) + .isInstanceOf(IllegalStateException.class) + .hasMessage( + "IncubatingUtil.createExtendedOpenTelemetrySdk could not be called with the expected" + + " arguments. This is a bug in OpenTelemetry.") + .cause() + .isInstanceOf(IllegalArgumentException.class); + } + + @Test + void createExtendedOpenTelemetrySdk_wrapsIllegalAccessException() throws Exception { + Method method = + OpenTelemetrySdkTest.class.getDeclaredMethod( + "privateNoAccess", OpenTelemetrySdk.class, Object.class); + + assertThatThrownBy( + () -> + OpenTelemetrySdkBuilder.createExtendedOpenTelemetrySdk( + method, OpenTelemetrySdk.builder().build(), null)) + .isInstanceOf(IllegalStateException.class) + .hasMessage( + "IncubatingUtil.createExtendedOpenTelemetrySdk could not be invoked. This is a bug in OpenTelemetry.") + .cause() + .isInstanceOf(IllegalAccessException.class); + } + + static OpenTelemetrySdk throwRuntimeException( + OpenTelemetrySdk openTelemetrySdk, @Nullable Object configProvider) { + throw new IllegalStateException("runtime boom"); + } + + static OpenTelemetrySdk throwError( + OpenTelemetrySdk openTelemetrySdk, @Nullable Object configProvider) { + throw new AssertionError("error boom"); + } + + static OpenTelemetrySdk throwCheckedException( + OpenTelemetrySdk openTelemetrySdk, @Nullable Object configProvider) throws Exception { + throw new Exception("checked boom"); + } + + static OpenTelemetrySdk wrongSignature(String ignored) { + return null; + } + + private static OpenTelemetrySdk privateNoAccess( + OpenTelemetrySdk openTelemetrySdk, @Nullable Object configProvider) { + return openTelemetrySdk; + } + @Test void getTracer() { assertThat(GlobalOpenTelemetry.getTracer("testTracer1")) From e0d4b87b7f4c7a3f76405135c3c7846c3f4f8a22 Mon Sep 17 00:00:00 2001 From: ADITYA-CODE-SOURCE Date: Fri, 15 May 2026 12:09:21 +0530 Subject: [PATCH 5/5] Fix Groovy builder helper overload --- .../io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java | 6 +++--- .../io/opentelemetry/sdk/OpenTelemetrySdkTest.java | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java b/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java index cd097d314f3..338af797824 100644 --- a/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java +++ b/sdk/all/src/main/java/io/opentelemetry/sdk/OpenTelemetrySdkBuilder.java @@ -167,13 +167,13 @@ public OpenTelemetrySdk build() { private static OpenTelemetrySdk createExtendedOpenTelemetrySdk( OpenTelemetrySdk openTelemetrySdk, @Nullable Object configProvider) { return createExtendedOpenTelemetrySdk( - requireNonNull(CREATE_EXTENDED_OPEN_TELEMETRY_SDK_METHOD), openTelemetrySdk, configProvider); + openTelemetrySdk, configProvider, requireNonNull(CREATE_EXTENDED_OPEN_TELEMETRY_SDK_METHOD)); } static OpenTelemetrySdk createExtendedOpenTelemetrySdk( - Method createExtendedOpenTelemetrySdkMethod, OpenTelemetrySdk openTelemetrySdk, - @Nullable Object configProvider) { + @Nullable Object configProvider, + Method createExtendedOpenTelemetrySdkMethod) { try { return (OpenTelemetrySdk) createExtendedOpenTelemetrySdkMethod.invoke(null, openTelemetrySdk, configProvider); diff --git a/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java b/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java index a809bc731fa..35f07e2e71f 100644 --- a/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java +++ b/sdk/all/src/test/java/io/opentelemetry/sdk/OpenTelemetrySdkTest.java @@ -167,7 +167,7 @@ void createExtendedOpenTelemetrySdk_rethrowsRuntimeException() throws Exception assertThatThrownBy( () -> OpenTelemetrySdkBuilder.createExtendedOpenTelemetrySdk( - method, OpenTelemetrySdk.builder().build(), null)) + OpenTelemetrySdk.builder().build(), null, method)) .isInstanceOf(IllegalStateException.class) .hasMessage("runtime boom"); } @@ -181,7 +181,7 @@ void createExtendedOpenTelemetrySdk_rethrowsError() throws Exception { assertThatThrownBy( () -> OpenTelemetrySdkBuilder.createExtendedOpenTelemetrySdk( - method, OpenTelemetrySdk.builder().build(), null)) + OpenTelemetrySdk.builder().build(), null, method)) .isInstanceOf(AssertionError.class) .hasMessage("error boom"); } @@ -195,7 +195,7 @@ void createExtendedOpenTelemetrySdk_wrapsCheckedException() throws Exception { assertThatThrownBy( () -> OpenTelemetrySdkBuilder.createExtendedOpenTelemetrySdk( - method, OpenTelemetrySdk.builder().build(), null)) + OpenTelemetrySdk.builder().build(), null, method)) .isInstanceOf(IllegalStateException.class) .hasMessage( "IncubatingUtil.createExtendedOpenTelemetrySdk failed. This is a bug in OpenTelemetry.") @@ -211,7 +211,7 @@ void createExtendedOpenTelemetrySdk_wrapsIllegalArgumentException() throws Excep assertThatThrownBy( () -> OpenTelemetrySdkBuilder.createExtendedOpenTelemetrySdk( - method, OpenTelemetrySdk.builder().build(), null)) + OpenTelemetrySdk.builder().build(), null, method)) .isInstanceOf(IllegalStateException.class) .hasMessage( "IncubatingUtil.createExtendedOpenTelemetrySdk could not be called with the expected" @@ -229,7 +229,7 @@ void createExtendedOpenTelemetrySdk_wrapsIllegalAccessException() throws Excepti assertThatThrownBy( () -> OpenTelemetrySdkBuilder.createExtendedOpenTelemetrySdk( - method, OpenTelemetrySdk.builder().build(), null)) + OpenTelemetrySdk.builder().build(), null, method)) .isInstanceOf(IllegalStateException.class) .hasMessage( "IncubatingUtil.createExtendedOpenTelemetrySdk could not be invoked. This is a bug in OpenTelemetry.")