Skip to content

Commit 12d84e0

Browse files
committed
Implementing ExtendedTextMapGetter in grpc-1.6 instrumentation
Signed-off-by: xiepuhuan <[email protected]>
1 parent 2e959d3 commit 12d84e0

File tree

1 file changed

+19
-2
lines changed
  • instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6

1 file changed

+19
-2
lines changed

instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequestGetter.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@
66
package io.opentelemetry.instrumentation.grpc.v1_6;
77

88
import io.grpc.Metadata;
9-
import io.opentelemetry.context.propagation.TextMapGetter;
9+
import io.opentelemetry.context.propagation.internal.ExtendedTextMapGetter;
10+
import java.util.Collections;
11+
import java.util.Iterator;
1012
import javax.annotation.Nullable;
1113

12-
enum GrpcRequestGetter implements TextMapGetter<GrpcRequest> {
14+
enum GrpcRequestGetter implements ExtendedTextMapGetter<GrpcRequest> {
1315
INSTANCE;
1416

1517
@Override
@@ -25,4 +27,19 @@ public String get(@Nullable GrpcRequest request, String key) {
2527
}
2628
return request.getMetadata().get(Metadata.Key.of(key, Metadata.ASCII_STRING_MARSHALLER));
2729
}
30+
31+
@Override
32+
public Iterator<String> getAll(@Nullable GrpcRequest request, String key) {
33+
if (request == null || request.getMetadata() == null) {
34+
return Collections.emptyIterator();
35+
}
36+
37+
Iterable<String> values =
38+
request.getMetadata().getAll(Metadata.Key.of(key, Metadata.ASCII_STRING_MARSHALLER));
39+
40+
if (values == null) {
41+
return Collections.emptyIterator();
42+
}
43+
return values.iterator();
44+
}
2845
}

0 commit comments

Comments
 (0)