Skip to content

Commit 947277b

Browse files
authored
Review fixes for apache-dubbo-2.7:library-autoconfigure (#16482)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
1 parent 2a428fa commit 947277b

5 files changed

Lines changed: 17 additions & 12 deletions

File tree

instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboHeadersGetter.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
import java.lang.invoke.MethodHandles;
1111
import java.lang.invoke.MethodType;
1212
import java.util.Map;
13+
import javax.annotation.Nullable;
1314
import org.apache.dubbo.rpc.RpcInvocation;
1415

15-
enum DubboHeadersGetter implements TextMapGetter<DubboRequest> {
16-
INSTANCE;
16+
final class DubboHeadersGetter implements TextMapGetter<DubboRequest> {
1717

1818
private static final MethodHandle GET_OBJECT_ATTACHMENTS;
1919

@@ -48,7 +48,10 @@ public Iterable<String> keys(DubboRequest request) {
4848

4949
@Override
5050
@SuppressWarnings("deprecation") // deprecation for dubbo 3.2.15
51-
public String get(DubboRequest request, String key) {
51+
public String get(@Nullable DubboRequest request, String key) {
52+
if (request == null) {
53+
return null;
54+
}
5255
return request.invocation().getAttachment(key);
5356
}
5457
}

instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboHeadersSetter.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,15 @@
66
package io.opentelemetry.instrumentation.apachedubbo.v2_7;
77

88
import io.opentelemetry.context.propagation.TextMapSetter;
9+
import javax.annotation.Nullable;
910

10-
enum DubboHeadersSetter implements TextMapSetter<DubboRequest> {
11-
INSTANCE;
11+
final class DubboHeadersSetter implements TextMapSetter<DubboRequest> {
1212

1313
@Override
14-
public void set(DubboRequest request, String key, String value) {
14+
public void set(@Nullable DubboRequest request, String key, String value) {
15+
if (request == null) {
16+
return;
17+
}
1518
request.context().setAttachment(key, value);
1619
request.invocation().setAttachment(key, value);
1720
}

instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboRpcAttributesGetter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
import javax.annotation.Nullable;
1010
import org.apache.dubbo.rpc.Result;
1111

12-
enum DubboRpcAttributesGetter implements RpcAttributesGetter<DubboRequest, Result> {
13-
INSTANCE;
12+
final class DubboRpcAttributesGetter implements RpcAttributesGetter<DubboRequest, Result> {
1413

1514
@Override
1615
public String getRpcSystemName(DubboRequest request) {

instrumentation/apache-dubbo-2.7/library-autoconfigure/src/main/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboTelemetryBuilder.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public DubboTelemetryBuilder setServerSpanNameExtractorCustomizer(
8080
*/
8181
@SuppressWarnings("deprecation") // RpcMetricsContextCustomizers is deprecated for removal in 3.0
8282
public DubboTelemetry build() {
83-
DubboRpcAttributesGetter rpcAttributesGetter = DubboRpcAttributesGetter.INSTANCE;
83+
DubboRpcAttributesGetter rpcAttributesGetter = new DubboRpcAttributesGetter();
8484
SpanNameExtractor<DubboRequest> spanNameExtractor =
8585
RpcSpanNameExtractor.create(rpcAttributesGetter);
8686
SpanNameExtractor<DubboRequest> clientSpanNameExtractor =
@@ -114,7 +114,7 @@ public DubboTelemetry build() {
114114
RpcMetricsContextCustomizers.dualEmitContextCustomizer(rpcAttributesGetter));
115115

116116
return new DubboTelemetry(
117-
serverInstrumenterBuilder.buildServerInstrumenter(DubboHeadersGetter.INSTANCE),
118-
clientInstrumenterBuilder.buildClientInstrumenter(DubboHeadersSetter.INSTANCE));
117+
serverInstrumenterBuilder.buildServerInstrumenter(new DubboHeadersGetter()),
118+
clientInstrumenterBuilder.buildClientInstrumenter(new DubboHeadersSetter()));
119119
}
120120
}

instrumentation/apache-dubbo-2.7/library-autoconfigure/src/test/java/io/opentelemetry/instrumentation/apachedubbo/v2_7/DubboHeadersGetterTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ void testKeys() throws Exception {
4040
}
4141
DubboRequest request = DubboRequest.create(rpcInvocation, context);
4242

43-
Iterator<String> iterator = DubboHeadersGetter.INSTANCE.keys(request).iterator();
43+
Iterator<String> iterator = new DubboHeadersGetter().keys(request).iterator();
4444
assertThat(iterator.hasNext()).isTrue();
4545
assertThat(iterator.next()).isEqualTo("key");
4646
assertThat(iterator.hasNext()).isFalse();

0 commit comments

Comments
 (0)