diff --git a/instrumentation/kubernetes-client-7.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesRequestDigest.java b/instrumentation/kubernetes-client-7.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesRequestDigest.java index 6a7541609c03..e53504ff1a58 100644 --- a/instrumentation/kubernetes-client-7.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesRequestDigest.java +++ b/instrumentation/kubernetes-client-7.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesRequestDigest.java @@ -106,7 +106,14 @@ public String toString() { targetResourceName = resourceMeta.getResource() + "/" + resourceMeta.getSubResource(); } - return verb.value() + ' ' + groupVersion + ' ' + targetResourceName; + StringBuilder result = new StringBuilder(verb.value()); + if (!groupVersion.isEmpty()) { + result.append(" ").append(groupVersion); + } + if (!targetResourceName.isEmpty()) { + result.append(" ").append(targetResourceName); + } + return result.toString(); } private static boolean isNullOrEmpty(String s) { diff --git a/instrumentation/kubernetes-client-7.0/javaagent/src/test/groovy/KubernetesClientTest.groovy b/instrumentation/kubernetes-client-7.0/javaagent/src/test/groovy/KubernetesClientTest.groovy index 67da3165a26d..f7becdd2dcbe 100644 --- a/instrumentation/kubernetes-client-7.0/javaagent/src/test/groovy/KubernetesClientTest.groovy +++ b/instrumentation/kubernetes-client-7.0/javaagent/src/test/groovy/KubernetesClientTest.groovy @@ -68,7 +68,7 @@ class KubernetesClientTest extends AgentInstrumentationSpecification { kind SpanKind.INTERNAL hasNoParent() } - apiClientSpan(it, 1, "get pods/proxy", "${server.httpUri()}/api/v1/namespaces/namespace/pods/name/proxy?path=path", 200) + apiClientSpan(it, 1, "get pods/proxy", "${server.httpUri()}/api/v1/namespaces/namespace/pods/name/proxy?path=path", 200) } } } @@ -95,7 +95,7 @@ class KubernetesClientTest extends AgentInstrumentationSpecification { status ERROR errorEvent(exception.class, exception.message) } - apiClientSpan(it, 1, "get pods/proxy", "${server.httpUri()}/api/v1/namespaces/namespace/pods/name/proxy?path=path", 451, exception) + apiClientSpan(it, 1, "get pods/proxy", "${server.httpUri()}/api/v1/namespaces/namespace/pods/name/proxy?path=path", 451, exception) } } } @@ -131,7 +131,7 @@ class KubernetesClientTest extends AgentInstrumentationSpecification { kind SpanKind.INTERNAL hasNoParent() } - apiClientSpan(it, 1, "get pods/proxy", "${server.httpUri()}/api/v1/namespaces/namespace/pods/name/proxy?path=path", 200) + apiClientSpan(it, 1, "get pods/proxy", "${server.httpUri()}/api/v1/namespaces/namespace/pods/name/proxy?path=path", 200) span(2) { name "callback" kind SpanKind.INTERNAL @@ -172,7 +172,7 @@ class KubernetesClientTest extends AgentInstrumentationSpecification { kind SpanKind.INTERNAL hasNoParent() } - apiClientSpan(it, 1, "get pods/proxy", "${server.httpUri()}/api/v1/namespaces/namespace/pods/name/proxy?path=path", 451, exception.get()) + apiClientSpan(it, 1, "get pods/proxy", "${server.httpUri()}/api/v1/namespaces/namespace/pods/name/proxy?path=path", 451, exception.get()) span(2) { name "callback" kind SpanKind.INTERNAL