Skip to content

Commit de32399

Browse files
committed
remove reflection
1 parent 829fd47 commit de32399

File tree

3 files changed

+26
-50
lines changed

3 files changed

+26
-50
lines changed

instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackClientTelemetryBuilder.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,19 @@ public final class RatpackClientTelemetryBuilder {
2626

2727
private final DefaultHttpClientInstrumenterBuilder<RequestSpec, HttpResponse> builder;
2828

29+
static {
30+
Experimental.setSetEmitExperimentalClientTelemetry(
31+
(builder, emit) -> builder.builder.setEmitExperimentalHttpClientMetrics(emit));
32+
}
33+
2934
RatpackClientTelemetryBuilder(OpenTelemetry openTelemetry) {
3035
builder = RatpackClientInstrumenterBuilderFactory.create(INSTRUMENTATION_NAME, openTelemetry);
3136
}
3237

3338
@CanIgnoreReturnValue
3439
public RatpackClientTelemetryBuilder addAttributesExtractor(
3540
AttributesExtractor<? super RequestSpec, ? super HttpResponse> attributesExtractor) {
36-
builder.addAttributeExtractor(attributesExtractor);
41+
builder.addAttributesExtractor(attributesExtractor);
3742
return this;
3843
}
3944

instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/RatpackServerTelemetryBuilder.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ public final class RatpackServerTelemetryBuilder {
2626

2727
private final DefaultHttpServerInstrumenterBuilder<Request, Response> builder;
2828

29+
static {
30+
Experimental.setSetEmitExperimentalServerTelemetry(
31+
(builder, emit) -> builder.builder.setEmitExperimentalHttpServerMetrics(emit));
32+
}
33+
2934
RatpackServerTelemetryBuilder(OpenTelemetry openTelemetry) {
3035
builder = RatpackServerInstrumenterBuilderFactory.create(INSTRUMENTATION_NAME, openTelemetry);
3136
}

instrumentation/ratpack/ratpack-1.7/library/src/main/java/io/opentelemetry/instrumentation/ratpack/v1_7/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.ratpack.v1_7.internal;
77

8-
import static java.util.logging.Level.FINE;
9-
108
import io.opentelemetry.instrumentation.ratpack.v1_7.RatpackClientTelemetryBuilder;
119
import io.opentelemetry.instrumentation.ratpack.v1_7.RatpackServerTelemetryBuilder;
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<RatpackClientTelemetryBuilder, Boolean>
22+
setEmitExperimentalClientTelemetry;
2923

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

3428
public void setEmitExperimentalTelemetry(
3529
RatpackClientTelemetryBuilder 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
RatpackServerTelemetryBuilder 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-
RatpackClientTelemetryBuilder.class.getDeclaredMethod(
63-
"setEmitExperimentalHttpClientMetrics", 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<RatpackClientTelemetryBuilder, Boolean> setEmitExperimentalClientTelemetry) {
44+
Experimental.setEmitExperimentalClientTelemetry = setEmitExperimentalClientTelemetry;
7045
}
7146

72-
@Nullable
73-
private static Method getEmitExperimentalServerTelemetryMethod() {
74-
try {
75-
Method method =
76-
RatpackServerTelemetryBuilder.class.getDeclaredMethod(
77-
"setEmitExperimentalHttpServerMetrics", 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<RatpackServerTelemetryBuilder, Boolean> setEmitExperimentalServerTelemetry) {
49+
Experimental.setEmitExperimentalServerTelemetry = setEmitExperimentalServerTelemetry;
8450
}
8551
}

0 commit comments

Comments
 (0)