Skip to content

Commit 0ae0acd

Browse files
committed
Fail fast when Spring builder extractors are missing
1 parent 2f0600f commit 0ae0acd

4 files changed

Lines changed: 21 additions & 15 deletions

File tree

  • instrumentation/spring
    • spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/internal
    • spring-webmvc
      • spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/internal
      • spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/internal
    • spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/internal

instrumentation/spring/spring-web/spring-web-3.1/library/src/main/java/io/opentelemetry/instrumentation/spring/web/v3_1/internal/WebTelemetryUtil.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
package io.opentelemetry.instrumentation.spring.web.v3_1.internal;
77

8+
import static java.util.Objects.requireNonNull;
9+
810
import com.google.errorprone.annotations.CanIgnoreReturnValue;
911
import io.opentelemetry.api.OpenTelemetry;
1012
import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpClientInstrumenterBuilder;
@@ -35,9 +37,9 @@ public static SpringWebTelemetryBuilder applyCommonConfig(
3537
SpringWebTelemetryBuilder builder, OpenTelemetry openTelemetry) {
3638
// builderExtractor is guaranteed non-null because the builder class registers it during
3739
// static initialization, before a builder instance can be passed here
38-
if (builderExtractor != null) {
39-
builderExtractor.apply(builder).configure(new CommonConfig(openTelemetry));
40-
}
40+
requireNonNull(builderExtractor, "builderExtractor")
41+
.apply(builder)
42+
.configure(new CommonConfig(openTelemetry));
4143
return builder;
4244
}
4345

instrumentation/spring/spring-webflux/spring-webflux-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/v5_3/internal/SpringWebfluxBuilderUtil.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
package io.opentelemetry.instrumentation.spring.webflux.v5_3.internal;
77

8+
import static java.util.Objects.requireNonNull;
9+
810
import com.google.errorprone.annotations.CanIgnoreReturnValue;
911
import io.opentelemetry.api.OpenTelemetry;
1012
import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpClientInstrumenterBuilder;
@@ -46,9 +48,9 @@ public static SpringWebfluxClientTelemetryBuilder applyClientCommonConfig(
4648
SpringWebfluxClientTelemetryBuilder builder, OpenTelemetry openTelemetry) {
4749
// clientBuilderExtractor is guaranteed non-null because the builder class registers it during
4850
// static initialization, before a builder instance can be passed here
49-
if (clientBuilderExtractor != null) {
50-
clientBuilderExtractor.apply(builder).configure(new CommonConfig(openTelemetry));
51-
}
51+
requireNonNull(clientBuilderExtractor, "clientBuilderExtractor")
52+
.apply(builder)
53+
.configure(new CommonConfig(openTelemetry));
5254
return builder;
5355
}
5456

@@ -57,9 +59,9 @@ public static SpringWebfluxServerTelemetryBuilder applyServerCommonConfig(
5759
SpringWebfluxServerTelemetryBuilder builder, OpenTelemetry openTelemetry) {
5860
// serverBuilderExtractor is guaranteed non-null because the builder class registers it during
5961
// static initialization, before a builder instance can be passed here
60-
if (serverBuilderExtractor != null) {
61-
serverBuilderExtractor.apply(builder).configure(new CommonConfig(openTelemetry));
62-
}
62+
requireNonNull(serverBuilderExtractor, "serverBuilderExtractor")
63+
.apply(builder)
64+
.configure(new CommonConfig(openTelemetry));
6365
return builder;
6466
}
6567

instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v5_3/internal/SpringMvcBuilderUtil.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
package io.opentelemetry.instrumentation.spring.webmvc.v5_3.internal;
77

8+
import static java.util.Objects.requireNonNull;
9+
810
import com.google.errorprone.annotations.CanIgnoreReturnValue;
911
import io.opentelemetry.api.OpenTelemetry;
1012
import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpServerInstrumenterBuilder;
@@ -37,9 +39,9 @@ public static SpringWebMvcTelemetryBuilder applyCommonConfig(
3739
SpringWebMvcTelemetryBuilder builder, OpenTelemetry openTelemetry) {
3840
// builderExtractor is guaranteed non-null because the builder class registers it during
3941
// static initialization, before a builder instance can be passed here
40-
if (builderExtractor != null) {
41-
builderExtractor.apply(builder).configure(new CommonConfig(openTelemetry));
42-
}
42+
requireNonNull(builderExtractor, "builderExtractor")
43+
.apply(builder)
44+
.configure(new CommonConfig(openTelemetry));
4345
return builder;
4446
}
4547

instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webmvc/v6_0/internal/SpringMvcBuilderUtil.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ public static SpringWebMvcTelemetryBuilder applyCommonConfig(
3939
SpringWebMvcTelemetryBuilder builder, OpenTelemetry openTelemetry) {
4040
// builderExtractor is guaranteed non-null because the builder class registers it during
4141
// static initialization, before a builder instance can be passed here
42-
if (builderExtractor != null) {
43-
requireNonNull(builderExtractor).apply(builder).configure(new CommonConfig(openTelemetry));
44-
}
42+
requireNonNull(builderExtractor, "builderExtractor")
43+
.apply(builder)
44+
.configure(new CommonConfig(openTelemetry));
4545
return builder;
4646
}
4747

0 commit comments

Comments
 (0)