Skip to content

Commit b7c02d3

Browse files
committed
remove reflection
1 parent 1e35fa5 commit b7c02d3

File tree

3 files changed

+20
-73
lines changed

3 files changed

+20
-73
lines changed

instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaClientTelemetryBuilder.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ public final class ArmeriaClientTelemetryBuilder {
2727

2828
static {
2929
ArmeriaInstrumenterBuilderUtil.setClientBuilderExtractor(builder -> builder.builder);
30+
Experimental.setSetEmitExperimentalClientTelemetry(
31+
(builder, emit) -> builder.builder.setEmitExperimentalHttpClientMetrics(emit));
3032
}
3133

3234
ArmeriaClientTelemetryBuilder(OpenTelemetry openTelemetry) {
@@ -51,7 +53,7 @@ public ArmeriaClientTelemetryBuilder setStatusExtractor(
5153
@CanIgnoreReturnValue
5254
public ArmeriaClientTelemetryBuilder addAttributesExtractor(
5355
AttributesExtractor<? super ClientRequestContext, ? super RequestLog> attributesExtractor) {
54-
builder.addAttributeExtractor(attributesExtractor);
56+
builder.addAttributesExtractor(attributesExtractor);
5557
return this;
5658
}
5759

instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaServerTelemetryBuilder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ public final class ArmeriaServerTelemetryBuilder {
2727

2828
static {
2929
ArmeriaInstrumenterBuilderUtil.setServerBuilderExtractor(builder -> builder.builder);
30+
Experimental.setSetEmitExperimentalServerTelemetry(
31+
(builder, emit) -> builder.builder.setEmitExperimentalHttpServerMetrics(emit));
3032
}
3133

3234
ArmeriaServerTelemetryBuilder(OpenTelemetry openTelemetry) {

instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/internal/Experimental.java

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

66
package io.opentelemetry.instrumentation.armeria.v1_3.internal;
77

8-
import static java.util.logging.Level.FINE;
9-
108
import io.opentelemetry.instrumentation.armeria.v1_3.ArmeriaClientTelemetryBuilder;
119
import io.opentelemetry.instrumentation.armeria.v1_3.ArmeriaServerTelemetryBuilder;
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,88 +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();
29-
30-
@Nullable private static final Method clientPeerServiceMethod = getClientPeerServiceMethod();
21+
private static BiConsumer<ArmeriaClientTelemetryBuilder, Boolean>
22+
setEmitExperimentalClientTelemetry;
3123

3224
@Nullable
33-
private static final Method emitExperimentalHttpServerMetricsMethod =
34-
getEmitExperimentalHttpServerMetricsMethod();
25+
private static BiConsumer<ArmeriaServerTelemetryBuilder, Boolean>
26+
setEmitExperimentalServerTelemetry;
3527

3628
public void setEmitExperimentalTelemetry(
3729
ArmeriaClientTelemetryBuilder builder, boolean emitExperimentalTelemetry) {
38-
39-
if (emitExperimentalClientTelemetryMethod != null) {
40-
try {
41-
emitExperimentalClientTelemetryMethod.invoke(builder, emitExperimentalTelemetry);
42-
} catch (IllegalAccessException | InvocationTargetException e) {
43-
logger.log(FINE, e.getMessage(), e);
44-
}
30+
if (setEmitExperimentalClientTelemetry != null) {
31+
setEmitExperimentalClientTelemetry.accept(builder, emitExperimentalTelemetry);
4532
}
4633
}
4734

4835
public void setEmitExperimentalTelemetry(
4936
ArmeriaServerTelemetryBuilder builder, boolean emitExperimentalTelemetry) {
50-
51-
if (emitExperimentalHttpServerMetricsMethod != null) {
52-
try {
53-
emitExperimentalHttpServerMetricsMethod.invoke(builder, emitExperimentalTelemetry);
54-
} catch (IllegalAccessException | InvocationTargetException e) {
55-
logger.log(FINE, e.getMessage(), e);
56-
}
37+
if (setEmitExperimentalServerTelemetry != null) {
38+
setEmitExperimentalServerTelemetry.accept(builder, emitExperimentalTelemetry);
5739
}
5840
}
5941

60-
public void setClientPeerService(ArmeriaClientTelemetryBuilder builder, String peerService) {
61-
62-
if (clientPeerServiceMethod != null) {
63-
try {
64-
clientPeerServiceMethod.invoke(builder, peerService);
65-
} catch (IllegalAccessException | InvocationTargetException e) {
66-
logger.log(FINE, e.getMessage(), e);
67-
}
68-
}
42+
public static void setSetEmitExperimentalClientTelemetry(
43+
BiConsumer<ArmeriaClientTelemetryBuilder, Boolean> setEmitExperimentalClientTelemetry) {
44+
Experimental.setEmitExperimentalClientTelemetry = setEmitExperimentalClientTelemetry;
6945
}
7046

71-
@Nullable
72-
private static Method getEmitExperimentalClientTelemetryMethod() {
73-
try {
74-
Method method =
75-
ArmeriaClientTelemetryBuilder.class.getDeclaredMethod(
76-
"setEmitExperimentalHttpClientMetrics", boolean.class);
77-
method.setAccessible(true);
78-
return method;
79-
} catch (NoSuchMethodException e) {
80-
logger.log(FINE, e.getMessage(), e);
81-
return null;
82-
}
83-
}
84-
85-
@Nullable
86-
private static Method getClientPeerServiceMethod() {
87-
try {
88-
Method method =
89-
ArmeriaClientTelemetryBuilder.class.getDeclaredMethod("setPeerService", String.class);
90-
method.setAccessible(true);
91-
return method;
92-
} catch (NoSuchMethodException e) {
93-
logger.log(FINE, e.getMessage(), e);
94-
return null;
95-
}
96-
}
97-
98-
@Nullable
99-
private static Method getEmitExperimentalHttpServerMetricsMethod() {
100-
try {
101-
return ArmeriaServerTelemetryBuilder.class.getMethod(
102-
"setEmitExperimentalHttpServerMetrics", boolean.class);
103-
} catch (NoSuchMethodException e) {
104-
logger.log(FINE, e.getMessage(), e);
105-
return null;
106-
}
47+
public static void setSetEmitExperimentalServerTelemetry(
48+
BiConsumer<ArmeriaServerTelemetryBuilder, Boolean> setEmitExperimentalServerTelemetry) {
49+
Experimental.setEmitExperimentalServerTelemetry = setEmitExperimentalServerTelemetry;
10750
}
10851
}

0 commit comments

Comments
 (0)