diff --git a/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcExtractAdapter.java b/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcExtractAdapter.java index d655ba2f48..cd78c3a1e3 100644 --- a/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcExtractAdapter.java +++ b/dd-java-agent/instrumentation/grpc-1.5/src/main/java/datadog/trace/instrumentation/grpc/server/GrpcExtractAdapter.java @@ -14,7 +14,7 @@ public final class GrpcExtractAdapter implements AgentPropagation.Getter keys = new ArrayList<>(); for (String key : carrier.keys()) { - if (!key.endsWith(Metadata.BINARY_HEADER_SUFFIX)){ + if (!key.endsWith(Metadata.BINARY_HEADER_SUFFIX)) { keys.add(key); } } diff --git a/dd-java-agent/instrumentation/grpc-1.5/src/test/groovy/GrpcTest.groovy b/dd-java-agent/instrumentation/grpc-1.5/src/test/groovy/GrpcTest.groovy index 090e934bfb..9d94b0cd25 100644 --- a/dd-java-agent/instrumentation/grpc-1.5/src/test/groovy/GrpcTest.groovy +++ b/dd-java-agent/instrumentation/grpc-1.5/src/test/groovy/GrpcTest.groovy @@ -1,10 +1,12 @@ import datadog.trace.agent.test.AgentTestRunner import datadog.trace.api.DDSpanTypes import datadog.trace.instrumentation.api.Tags +import datadog.trace.instrumentation.grpc.server.GrpcExtractAdapter import example.GreeterGrpc import example.Helloworld import io.grpc.BindableService import io.grpc.ManagedChannel +import io.grpc.Metadata import io.grpc.Server import io.grpc.Status import io.grpc.StatusRuntimeException @@ -284,4 +286,17 @@ class GrpcTest extends AgentTestRunner { "Status - description" | Status.PERMISSION_DENIED.withDescription("some description") "StatusRuntime - description" | Status.UNIMPLEMENTED.withDescription("some description") } + + def "skip binary headers"() { + setup: + def meta = new Metadata() + meta.put(Metadata.Key. of("test", Metadata.ASCII_STRING_MARSHALLER), "val") + meta.put(Metadata.Key. of("test-bin", Metadata.BINARY_BYTE_MARSHALLER), "bin-val".bytes) + + when: + def keys = GrpcExtractAdapter.GETTER.keys(meta) + + then: + keys == ["test"] + } }