diff --git a/bom/application/pom.xml b/bom/application/pom.xml index ba54906ae9561..7810920575dc9 100644 --- a/bom/application/pom.xml +++ b/bom/application/pom.xml @@ -31,8 +31,8 @@ 0.2.4 0.1.15 0.1.5 - 1.28.0 - 1.28.0-alpha + 1.29.0 + 1.29.0-alpha 1.8.1 5.0.3.Final 1.11.1 diff --git a/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/instrumentation/GrpcOpenTelemetryTest.java b/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/instrumentation/GrpcOpenTelemetryTest.java index 543f2a2c99aad..c4a7a62468413 100644 --- a/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/instrumentation/GrpcOpenTelemetryTest.java +++ b/extensions/opentelemetry/deployment/src/test/java/io/quarkus/opentelemetry/deployment/instrumentation/GrpcOpenTelemetryTest.java @@ -4,7 +4,8 @@ import static io.opentelemetry.api.trace.SpanKind.CLIENT; import static io.opentelemetry.api.trace.SpanKind.INTERNAL; import static io.opentelemetry.api.trace.SpanKind.SERVER; -import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_TRANSPORT; +import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_HOST_PORT; +import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_SOCK_HOST_ADDR; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.RPC_GRPC_STATUS_CODE; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.RPC_METHOD; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.RPC_SERVICE; @@ -13,6 +14,7 @@ import static io.quarkus.opentelemetry.runtime.config.build.OTelBuildConfig.INSTRUMENTATION_NAME; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; @@ -122,9 +124,8 @@ void grpc() { assertEquals("helloworld.Greeter", server.getAttributes().get(RPC_SERVICE)); assertEquals("SayHello", server.getAttributes().get(RPC_METHOD)); assertEquals(Status.Code.OK.value(), server.getAttributes().get(RPC_GRPC_STATUS_CODE)); - // assertNotNull(server.getAttributes().get(NET_PEER_IP)); - // assertNotNull(server.getAttributes().get(NET_PEER_PORT)); - assertEquals("ip_tcp", server.getAttributes().get(NET_TRANSPORT)); + assertNotNull(server.getAttributes().get(NET_HOST_PORT)); + assertNotNull(server.getAttributes().get(NET_SOCK_HOST_ADDR)); final SpanData internal = getSpanByKindAndParentId(spans, INTERNAL, server.getSpanId()); assertEquals("span.internal", internal.getName()); @@ -161,9 +162,8 @@ void error() { assertEquals("helloworld.Greeter", server.getAttributes().get(RPC_SERVICE)); assertEquals("SayHello", server.getAttributes().get(RPC_METHOD)); assertEquals(Status.Code.UNKNOWN.value(), server.getAttributes().get(RPC_GRPC_STATUS_CODE)); - // assertNotNull(server.getAttributes().get(NET_PEER_IP)); - // assertNotNull(server.getAttributes().get(NET_PEER_PORT)); - assertEquals("ip_tcp", server.getAttributes().get(NET_TRANSPORT)); + assertNotNull(server.getAttributes().get(NET_HOST_PORT)); + assertNotNull(server.getAttributes().get(NET_SOCK_HOST_ADDR)); assertEquals(Status.Code.UNKNOWN.value(), server.getAttributes().get(RPC_GRPC_STATUS_CODE)); assertEquals(server.getTraceId(), client.getTraceId()); @@ -213,9 +213,8 @@ void streaming() { assertEquals("streaming.Streaming", server.getAttributes().get(RPC_SERVICE)); assertEquals("Pipe", server.getAttributes().get(RPC_METHOD)); assertEquals(Status.Code.OK.value(), server.getAttributes().get(RPC_GRPC_STATUS_CODE)); - // assertNotNull(server.getAttributes().get(NET_PEER_IP)); - // assertNotNull(server.getAttributes().get(NET_PEER_PORT)); - assertEquals("ip_tcp", server.getAttributes().get(NET_TRANSPORT)); + assertNotNull(server.getAttributes().get(NET_HOST_PORT)); + assertNotNull(server.getAttributes().get(NET_SOCK_HOST_ADDR)); assertEquals("true", server.getAttributes().get(stringKey("grpc.service.propagated"))); assertEquals(server.getTraceId(), client.getTraceId()); @@ -250,9 +249,8 @@ void streamingBlocking() { assertEquals("streaming.Streaming", server.getAttributes().get(RPC_SERVICE)); assertEquals("PipeBlocking", server.getAttributes().get(RPC_METHOD)); assertEquals(Status.Code.OK.value(), server.getAttributes().get(RPC_GRPC_STATUS_CODE)); - // assertNotNull(server.getAttributes().get(NET_PEER_IP));//now shows up on net.sock.peer.addr. Not available on attributes yet. FIXME - // assertNotNull(server.getAttributes().get(NET_PEER_PORT)); // same for port. FIXME - assertEquals("ip_tcp", server.getAttributes().get(NET_TRANSPORT)); + assertNotNull(server.getAttributes().get(NET_HOST_PORT)); + assertNotNull(server.getAttributes().get(NET_SOCK_HOST_ADDR)); assertEquals("true", server.getAttributes().get(stringKey("grpc.service.propagated.blocking"))); assertEquals(server.getTraceId(), client.getTraceId()); diff --git a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/graal/Substitutions.java b/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/graal/Substitutions.java index 3ca9247fe3d0c..9893313af25a5 100644 --- a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/graal/Substitutions.java +++ b/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/graal/Substitutions.java @@ -10,6 +10,7 @@ import io.opentelemetry.api.events.EventEmitterProvider; import io.opentelemetry.api.metrics.MeterProvider; +import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder; import io.opentelemetry.sdk.logs.export.LogRecordExporter; @@ -24,7 +25,7 @@ static final class Target_MeterProviderConfiguration { @Substitute static List configureMetricReaders( ConfigProperties config, - ClassLoader serviceClassLoader, + SpiHelper spiHelper, BiFunction metricExporterCustomizer, List closeables) { // OTel metrics not supported and there is no need to call @@ -40,7 +41,7 @@ static final class Target_LoggerProviderConfiguration { static void configureLoggerProvider( SdkLoggerProviderBuilder loggerProviderBuilder, ConfigProperties config, - ClassLoader serviceClassLoader, + SpiHelper spiHelper, MeterProvider meterProvider, BiFunction logRecordExporterCustomizer, List closeables) { diff --git a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/grpc/GrpcTracingServerInterceptor.java b/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/grpc/GrpcTracingServerInterceptor.java index bc6f4e7343cba..f059dc931561c 100644 --- a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/grpc/GrpcTracingServerInterceptor.java +++ b/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/grpc/GrpcTracingServerInterceptor.java @@ -22,10 +22,12 @@ import io.opentelemetry.context.propagation.TextMapGetter; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesExtractor; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter; +import io.opentelemetry.instrumentation.api.instrumenter.network.ClientAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.network.ClientAttributesGetter; +import io.opentelemetry.instrumentation.api.instrumenter.network.NetworkAttributesGetter; +import io.opentelemetry.instrumentation.api.instrumenter.network.ServerAttributesExtractor; +import io.opentelemetry.instrumentation.api.instrumenter.network.ServerAttributesGetter; import io.opentelemetry.instrumentation.api.instrumenter.rpc.RpcServerAttributesExtractor; -import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import io.quarkus.grpc.GlobalInterceptor; @Singleton @@ -39,8 +41,12 @@ public GrpcTracingServerInterceptor(final OpenTelemetry openTelemetry) { INSTRUMENTATION_NAME, new GrpcSpanNameExtractor()); + GrpcServerNetworkAttributesGetter getter = new GrpcServerNetworkAttributesGetter(); + builder.addAttributesExtractor(RpcServerAttributesExtractor.create(GrpcAttributesGetter.INSTANCE)) - .addAttributesExtractor(NetServerAttributesExtractor.create(new GrpcServerNetServerAttributesGetter())) + .addAttributesExtractor( + ServerAttributesExtractor.createForServerSide(getter)) + .addAttributesExtractor(ClientAttributesExtractor.create(getter)) .addAttributesExtractor(new GrpcStatusCodeExtractor()) .setSpanStatusExtractor(new GrpcSpanStatusExtractor()); @@ -65,11 +71,9 @@ public ServerCall.Listener interceptCall( return next.startCall(call, headers); } - private static class GrpcServerNetServerAttributesGetter implements NetServerAttributesGetter { - @Override - public String getTransport(final GrpcRequest grpcRequest) { - return SemanticAttributes.NetTransportValues.IP_TCP; - } + static class GrpcServerNetworkAttributesGetter implements NetworkAttributesGetter, + ServerAttributesGetter, + ClientAttributesGetter { @Override public String getServerAddress(GrpcRequest grpcRequest) { diff --git a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/restclient/OpenTelemetryClientFilter.java b/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/restclient/OpenTelemetryClientFilter.java index 15f72ed603900..993c391afa489 100644 --- a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/restclient/OpenTelemetryClientFilter.java +++ b/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/restclient/OpenTelemetryClientFilter.java @@ -26,7 +26,6 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpClientAttributesGetter; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import io.quarkus.arc.Unremovable; import io.quarkus.opentelemetry.runtime.QuarkusContextStorage; @@ -62,7 +61,6 @@ public OpenTelemetryClientFilter() { @Inject public OpenTelemetryClientFilter(final OpenTelemetry openTelemetry) { ClientAttributesExtractor clientAttributesExtractor = new ClientAttributesExtractor(); - ClientNetAttributesGetter clientNetAttributesExtractor = new ClientNetAttributesGetter(); InstrumenterBuilder builder = Instrumenter.builder( openTelemetry, @@ -72,7 +70,7 @@ public OpenTelemetryClientFilter(final OpenTelemetry openTelemetry) { this.instrumenter = builder .setSpanStatusExtractor(HttpSpanStatusExtractor.create(clientAttributesExtractor)) .addAttributesExtractor(HttpClientAttributesExtractor.create( - clientAttributesExtractor, clientNetAttributesExtractor)) + clientAttributesExtractor)) .buildClientInstrumenter(new ClientRequestContextTextMapSetter()); } @@ -155,32 +153,6 @@ public String getUrlFull(final ClientRequestContext request) { return uri.toString(); } - @Override - public String getHttpRequestMethod(final ClientRequestContext request) { - return request.getMethod(); - } - - @Override - public List getHttpRequestHeader(final ClientRequestContext request, final String name) { - return request.getStringHeaders().getOrDefault(name, emptyList()); - } - - @Override - public Integer getHttpResponseStatusCode(ClientRequestContext clientRequestContext, - ClientResponseContext clientResponseContext, Throwable error) { - return clientResponseContext.getStatus(); - } - - @Override - public List getHttpResponseHeader(final ClientRequestContext request, final ClientResponseContext response, - final String name) { - return response.getHeaders().getOrDefault(name, emptyList()); - } - } - - private static class ClientNetAttributesGetter - implements NetClientAttributesGetter { - @Override public String getTransport(ClientRequestContext clientRequestContext, ClientResponseContext clientResponseContext) { return SemanticAttributes.NetTransportValues.IP_TCP; @@ -207,5 +179,27 @@ public String getNetworkProtocolVersion(ClientRequestContext clientRequestContex ClientResponseContext clientResponseContext) { return null; } + + @Override + public String getHttpRequestMethod(final ClientRequestContext request) { + return request.getMethod(); + } + + @Override + public List getHttpRequestHeader(final ClientRequestContext request, final String name) { + return request.getStringHeaders().getOrDefault(name, emptyList()); + } + + @Override + public Integer getHttpResponseStatusCode(ClientRequestContext clientRequestContext, + ClientResponseContext clientResponseContext, Throwable error) { + return clientResponseContext.getStatus(); + } + + @Override + public List getHttpResponseHeader(final ClientRequestContext request, final ClientResponseContext response, + final String name) { + return response.getHeaders().getOrDefault(name, emptyList()); + } } } diff --git a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/vertx/HttpInstrumenterVertxTracer.java b/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/vertx/HttpInstrumenterVertxTracer.java index 7977b6f73de22..eb7b88bd4c4ee 100644 --- a/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/vertx/HttpInstrumenterVertxTracer.java +++ b/extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/tracing/intrumentation/vertx/HttpInstrumenterVertxTracer.java @@ -10,8 +10,6 @@ import java.util.List; import java.util.function.BiConsumer; -import javax.annotation.Nullable; - import io.netty.handler.codec.http.HttpResponseStatus; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.common.AttributesBuilder; @@ -22,7 +20,6 @@ import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; -import io.opentelemetry.instrumentation.api.instrumenter.http.HttpClientAttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpClientAttributesGetter; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpRouteBiGetter; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpRouteHolder; @@ -30,8 +27,6 @@ import io.opentelemetry.instrumentation.api.instrumenter.http.HttpServerAttributesGetter; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesGetter; -import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter; import io.opentelemetry.semconv.trace.attributes.SemanticAttributes; import io.vertx.core.Context; import io.vertx.core.MultiMap; @@ -122,7 +117,7 @@ private static Instrumenter getServerInstrumenter(fin return serverBuilder .setSpanStatusExtractor(HttpSpanStatusExtractor.create(serverAttributesExtractor)) .addAttributesExtractor( - HttpServerAttributesExtractor.create(serverAttributesExtractor, new HttpServerNetAttributesGetter())) + HttpServerAttributesExtractor.create(serverAttributesExtractor)) .addAttributesExtractor(new AdditionalServerAttributesExtractor()) .addContextCustomizer(HttpRouteHolder.create(serverAttributesExtractor)) .buildServerInstrumenter(new HttpRequestTextMapGetter()); @@ -130,18 +125,18 @@ private static Instrumenter getServerInstrumenter(fin private static Instrumenter getClientInstrumenter(final OpenTelemetry openTelemetry) { ServerAttributesExtractor serverAttributesExtractor = new ServerAttributesExtractor(); - ClientAttributesExtractor clientAttributesExtractor = new ClientAttributesExtractor(); - HttpClientNetAttributeGetter httpClientNetAttributeGetter = new HttpClientNetAttributeGetter(); + HttpClientAttributesExtractor httpClientAttributesExtractor = new HttpClientAttributesExtractor(); InstrumenterBuilder clientBuilder = Instrumenter.builder( openTelemetry, INSTRUMENTATION_NAME, - new ClientSpanNameExtractor(clientAttributesExtractor)); + new ClientSpanNameExtractor(httpClientAttributesExtractor)); return clientBuilder .setSpanStatusExtractor(HttpSpanStatusExtractor.create(serverAttributesExtractor)) - .addAttributesExtractor(HttpClientAttributesExtractor.create( - clientAttributesExtractor, httpClientNetAttributeGetter)) + .addAttributesExtractor( + io.opentelemetry.instrumentation.api.instrumenter.http.HttpClientAttributesExtractor.create( + httpClientAttributesExtractor)) .buildClientInstrumenter(new HttpRequestTextMapSetter()); } @@ -171,6 +166,41 @@ public String get(final io.opentelemetry.context.Context context, final HttpRequ } private static class ServerAttributesExtractor implements HttpServerAttributesGetter { + @Override + public String getTransport(HttpRequest httpRequest) { + return null; + } + + @Override + public String getServerAddress(HttpRequest httpRequest) { + if (httpRequest instanceof HttpServerRequest) { + return VertxUtil.extractRemoteHostname((HttpServerRequest) httpRequest); + } + return null; + } + + @Override + public Integer getServerPort(HttpRequest httpRequest) { + if (httpRequest instanceof HttpServerRequest) { + Long remoteHostPort = VertxUtil.extractRemoteHostPort((HttpServerRequest) httpRequest); + if (remoteHostPort == null) { + return null; + } + return remoteHostPort.intValue(); + } + return null; + } + + @Override + public String getNetworkProtocolName(HttpRequest request, HttpResponse response) { + return "http"; + } + + @Override + public String getNetworkProtocolVersion(HttpRequest request, HttpResponse response) { + return getHttpVersion(request); + } + @Override public String getUrlPath(final HttpRequest request) { try { @@ -264,72 +294,6 @@ public void onEnd( } } - private static class HttpServerNetAttributesGetter implements NetServerAttributesGetter { - @Override - public String getTransport(HttpRequest httpRequest) { - return null; - } - - @Override - public String getServerAddress(HttpRequest httpRequest) { - if (httpRequest instanceof HttpServerRequest) { - return VertxUtil.extractRemoteHostname((HttpServerRequest) httpRequest); - } - return null; - } - - @Override - public Integer getServerPort(HttpRequest httpRequest) { - if (httpRequest instanceof HttpServerRequest) { - Long remoteHostPort = VertxUtil.extractRemoteHostPort((HttpServerRequest) httpRequest); - if (remoteHostPort == null) { - return null; - } - return remoteHostPort.intValue(); - } - return null; - } - - @Override - public String getNetworkProtocolName(HttpRequest request, HttpResponse response) { - return "http"; - } - - @Override - public String getNetworkProtocolVersion(HttpRequest request, HttpResponse response) { - return getHttpVersion(request); - } - } - - private static class HttpClientNetAttributeGetter implements NetClientAttributesGetter { - @Override - public String getTransport(HttpRequest httpClientRequest, HttpResponse httpClientResponse) { - return SemanticAttributes.NetTransportValues.IP_TCP; - } - - @javax.annotation.Nullable - @Override - public String getServerAddress(HttpRequest httpRequest) { - return httpRequest.remoteAddress().hostName(); - } - - @javax.annotation.Nullable - @Override - public Integer getServerPort(HttpRequest httpRequest) { - return httpRequest.remoteAddress().port(); - } - - @Override - public String getNetworkProtocolName(final HttpRequest request, final HttpResponse response) { - return "http"; - } - - @Override - public String getNetworkProtocolVersion(final HttpRequest request, final HttpResponse response) { - return getHttpVersion(request); - } - } - private static class HttpRequestTextMapGetter implements TextMapGetter { @Override public Iterable keys(final HttpRequest carrier) { @@ -346,7 +310,7 @@ public String get(final HttpRequest carrier, final String key) { } } - private static class ClientAttributesExtractor implements HttpClientAttributesGetter { + private static class HttpClientAttributesExtractor implements HttpClientAttributesGetter { @Override public String getUrlFull(final HttpRequest request) { return request.absoluteURI(); @@ -371,13 +335,38 @@ public Integer getHttpResponseStatusCode(HttpRequest httpRequest, HttpResponse h public List getHttpResponseHeader(final HttpRequest request, final HttpResponse response, final String name) { return response.headers().getAll(name); } + + @Override + public String getTransport(HttpRequest httpClientRequest, HttpResponse httpClientResponse) { + return SemanticAttributes.NetTransportValues.IP_TCP; + } + + @Override + public String getServerAddress(HttpRequest httpRequest) { + return httpRequest.remoteAddress().hostName(); + } + + @Override + public Integer getServerPort(HttpRequest httpRequest) { + return httpRequest.remoteAddress().port(); + } + + @Override + public String getNetworkProtocolName(final HttpRequest request, final HttpResponse response) { + return "http"; + } + + @Override + public String getNetworkProtocolVersion(final HttpRequest request, final HttpResponse response) { + return getHttpVersion(request); + } } private static class ClientSpanNameExtractor implements SpanNameExtractor { private final SpanNameExtractor http; - ClientSpanNameExtractor(ClientAttributesExtractor clientAttributesExtractor) { + ClientSpanNameExtractor(HttpClientAttributesExtractor clientAttributesExtractor) { this.http = HttpSpanNameExtractor.create(clientAttributesExtractor); } diff --git a/integration-tests/opentelemetry-grpc/src/test/java/io/quarkus/it/opentelemetry/grpc/OpenTelemetryGrpcTest.java b/integration-tests/opentelemetry-grpc/src/test/java/io/quarkus/it/opentelemetry/grpc/OpenTelemetryGrpcTest.java index 598b449a20d56..ff16ac9dadda2 100644 --- a/integration-tests/opentelemetry-grpc/src/test/java/io/quarkus/it/opentelemetry/grpc/OpenTelemetryGrpcTest.java +++ b/integration-tests/opentelemetry-grpc/src/test/java/io/quarkus/it/opentelemetry/grpc/OpenTelemetryGrpcTest.java @@ -10,7 +10,6 @@ import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_SOCK_HOST_ADDR; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_SOCK_PEER_ADDR; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_SOCK_PEER_PORT; -import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.NET_TRANSPORT; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.RPC_GRPC_STATUS_CODE; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.RPC_METHOD; import static io.opentelemetry.semconv.trace.attributes.SemanticAttributes.RPC_SERVICE; @@ -95,7 +94,6 @@ void grpc() { assertNotNull(getAttributes(server).get(NET_SOCK_PEER_PORT.getKey())); assertNotNull(getAttributes(server).get(NET_SOCK_HOST_ADDR.getKey())); assertNotNull(getAttributes(server).get(NET_HOST_PORT.getKey())); - assertEquals("ip_tcp", getAttributes(server).get(NET_TRANSPORT.getKey())); assertEquals(server.get("parentSpanId"), client.get("spanId")); }