Skip to content

Commit 52101cb

Browse files
committed
remove reflection
1 parent 9ca4774 commit 52101cb

File tree

3 files changed

+20
-50
lines changed

3 files changed

+20
-50
lines changed

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ public final class SpringWebfluxClientTelemetryBuilder {
2929

3030
static {
3131
SpringWebfluxBuilderUtil.setClientBuilderExtractor(builder -> builder.builder);
32+
Experimental.setSetEmitExperimentalClientTelemetry(
33+
(builder, emit) -> builder.builder.setEmitExperimentalHttpClientMetrics(emit));
3234
}
3335

3436
SpringWebfluxClientTelemetryBuilder(OpenTelemetry openTelemetry) {
@@ -45,7 +47,7 @@ public final class SpringWebfluxClientTelemetryBuilder {
4547
@CanIgnoreReturnValue
4648
public SpringWebfluxClientTelemetryBuilder addAttributesExtractor(
4749
AttributesExtractor<ClientRequest, ClientResponse> attributesExtractor) {
48-
builder.addAttributeExtractor(attributesExtractor);
50+
builder.addAttributesExtractor(attributesExtractor);
4951
return this;
5052
}
5153

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ public final class SpringWebfluxServerTelemetryBuilder {
2626

2727
static {
2828
SpringWebfluxBuilderUtil.setServerBuilderExtractor(builder -> builder.builder);
29+
Experimental.setSetEmitExperimentalServerTelemetry(
30+
(builder, emit) -> builder.builder.setEmitExperimentalHttpServerMetrics(emit));
2931
}
3032

3133
SpringWebfluxServerTelemetryBuilder(OpenTelemetry openTelemetry) {

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

Lines changed: 15 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,9 @@
55

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

8-
import static java.util.logging.Level.FINE;
9-
108
import io.opentelemetry.instrumentation.spring.webflux.v5_3.SpringWebfluxClientTelemetryBuilder;
119
import io.opentelemetry.instrumentation.spring.webflux.v5_3.SpringWebfluxServerTelemetryBuilder;
12-
import java.lang.reflect.InvocationTargetException;
13-
import java.lang.reflect.Method;
14-
import java.util.logging.Logger;
10+
import java.util.function.BiConsumer;
1511
import javax.annotation.Nullable;
1612

1713
/**
@@ -21,65 +17,35 @@
2117
*/
2218
public class Experimental {
2319

24-
private static final Logger logger = Logger.getLogger(Experimental.class.getName());
25-
2620
@Nullable
27-
private static final Method emitExperimentalClientTelemetryMethod =
28-
getEmitExperimentalClientTelemetryMethod();
21+
private static BiConsumer<SpringWebfluxClientTelemetryBuilder, Boolean>
22+
setEmitExperimentalClientTelemetry;
2923

3024
@Nullable
31-
private static final Method emitExperimentalServerTelemetryMethod =
32-
getEmitExperimentalServerTelemetryMethod();
25+
private static BiConsumer<SpringWebfluxServerTelemetryBuilder, Boolean>
26+
setEmitExperimentalServerTelemetry;
3327

3428
public void setEmitExperimentalTelemetry(
3529
SpringWebfluxClientTelemetryBuilder builder, boolean emitExperimentalTelemetry) {
36-
37-
if (emitExperimentalClientTelemetryMethod != null) {
38-
try {
39-
emitExperimentalClientTelemetryMethod.invoke(builder, emitExperimentalTelemetry);
40-
} catch (IllegalAccessException | InvocationTargetException e) {
41-
logger.log(FINE, e.getMessage(), e);
42-
}
30+
if (setEmitExperimentalClientTelemetry != null) {
31+
setEmitExperimentalClientTelemetry.accept(builder, emitExperimentalTelemetry);
4332
}
4433
}
4534

4635
public void setEmitExperimentalTelemetry(
4736
SpringWebfluxServerTelemetryBuilder builder, boolean emitExperimentalTelemetry) {
48-
49-
if (emitExperimentalServerTelemetryMethod != null) {
50-
try {
51-
emitExperimentalServerTelemetryMethod.invoke(builder, emitExperimentalTelemetry);
52-
} catch (IllegalAccessException | InvocationTargetException e) {
53-
logger.log(FINE, e.getMessage(), e);
54-
}
37+
if (setEmitExperimentalServerTelemetry != null) {
38+
setEmitExperimentalServerTelemetry.accept(builder, emitExperimentalTelemetry);
5539
}
5640
}
5741

58-
@Nullable
59-
private static Method getEmitExperimentalClientTelemetryMethod() {
60-
try {
61-
Method method =
62-
SpringWebfluxClientTelemetryBuilder.class.getDeclaredMethod(
63-
"setEmitExperimentalHttpClientTelemetry", boolean.class);
64-
method.setAccessible(true);
65-
return method;
66-
} catch (NoSuchMethodException e) {
67-
logger.log(FINE, e.getMessage(), e);
68-
return null;
69-
}
42+
public static void setSetEmitExperimentalClientTelemetry(
43+
BiConsumer<SpringWebfluxClientTelemetryBuilder, Boolean> setEmitExperimentalClientTelemetry) {
44+
Experimental.setEmitExperimentalClientTelemetry = setEmitExperimentalClientTelemetry;
7045
}
7146

72-
@Nullable
73-
private static Method getEmitExperimentalServerTelemetryMethod() {
74-
try {
75-
Method method =
76-
SpringWebfluxServerTelemetryBuilder.class.getDeclaredMethod(
77-
"setEmitExperimentalHttpServerTelemetry", boolean.class);
78-
method.setAccessible(true);
79-
return method;
80-
} catch (NoSuchMethodException e) {
81-
logger.log(FINE, e.getMessage(), e);
82-
return null;
83-
}
47+
public static void setSetEmitExperimentalServerTelemetry(
48+
BiConsumer<SpringWebfluxServerTelemetryBuilder, Boolean> setEmitExperimentalServerTelemetry) {
49+
Experimental.setEmitExperimentalServerTelemetry = setEmitExperimentalServerTelemetry;
8450
}
8551
}

0 commit comments

Comments
 (0)