diff --git a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequest.java b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequest.java index cd429d22e8..89f6746e1c 100644 --- a/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequest.java +++ b/instrumentation/grpc-1.6/library/src/main/java/io/opentelemetry/instrumentation/grpc/v1_6/GrpcRequest.java @@ -8,7 +8,6 @@ package io.opentelemetry.instrumentation.grpc.v1_6; import io.grpc.Metadata; import io.grpc.MethodDescriptor; import java.net.SocketAddress; -import java.net.URI; import javax.annotation.Nullable; public final class GrpcRequest { @@ -36,12 +35,16 @@ public final class GrpcRequest { if (authority == null) { return; } - try { - URI uri = new URI(null, authority, null, null, null); - logicalHost = uri.getHost(); - logicalPort = uri.getPort(); - } catch (Throwable e) { - // do nothing + int index = authority.indexOf(':'); + if (index == -1) { + logicalHost = authority; + } else { + logicalHost = authority.substring(0, index); + try { + logicalPort = Integer.parseInt(authority.substring(index + 1)); + } catch (NumberFormatException e) { + // ignore + } } }