From 8ae01b729265e163eb3e90c48d3a9b61f30b6270 Mon Sep 17 00:00:00 2001 From: gregor Date: Thu, 27 Jul 2023 17:28:29 +0200 Subject: [PATCH 1/6] add telemetry.auto.name --- .../javaagent/tooling/AutoVersionResourceProvider.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AutoVersionResourceProvider.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AutoVersionResourceProvider.java index 4010f191da29..23c30a4934bb 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AutoVersionResourceProvider.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AutoVersionResourceProvider.java @@ -15,6 +15,8 @@ @AutoService(ResourceProvider.class) public class AutoVersionResourceProvider implements ResourceProvider { + private static final AttributeKey TELEMETRY_AUTO_NAME = + AttributeKey.stringKey("telemetry.auto.name"); private static final AttributeKey TELEMETRY_AUTO_VERSION = AttributeKey.stringKey("telemetry.auto.version"); @@ -22,6 +24,11 @@ public class AutoVersionResourceProvider implements ResourceProvider { public Resource createResource(ConfigProperties config) { return AgentVersion.VERSION == null ? Resource.empty() - : Resource.create(Attributes.of(TELEMETRY_AUTO_VERSION, AgentVersion.VERSION)); + : Resource.create( + Attributes.of( + TELEMETRY_AUTO_NAME, + "opentelemetry-javaagent", + TELEMETRY_AUTO_VERSION, + AgentVersion.VERSION)); } } From e692cca20f8fbe78c18dc9b5a9b0f5710ef95782 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Fri, 8 Dec 2023 17:11:09 +0100 Subject: [PATCH 2/6] update to use the latest semconv: https://opentelemetry.io/docs/specs/semconv/resource/#telemetry-sdk-experimental --- ...r.java => DistroVersionResourceProvider.java} | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) rename javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/{AutoVersionResourceProvider.java => DistroVersionResourceProvider.java} (61%) diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AutoVersionResourceProvider.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/DistroVersionResourceProvider.java similarity index 61% rename from javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AutoVersionResourceProvider.java rename to javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/DistroVersionResourceProvider.java index 23c30a4934bb..cedf577ece40 100644 --- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AutoVersionResourceProvider.java +++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/DistroVersionResourceProvider.java @@ -13,12 +13,12 @@ import io.opentelemetry.sdk.resources.Resource; @AutoService(ResourceProvider.class) -public class AutoVersionResourceProvider implements ResourceProvider { +public class DistroVersionResourceProvider implements ResourceProvider { - private static final AttributeKey TELEMETRY_AUTO_NAME = - AttributeKey.stringKey("telemetry.auto.name"); - private static final AttributeKey TELEMETRY_AUTO_VERSION = - AttributeKey.stringKey("telemetry.auto.version"); + private static final AttributeKey TELEMETRY_DISTRO_NAME = + AttributeKey.stringKey("telemetry.distro.name"); + private static final AttributeKey TELEMETRY_DISTRO_VERSION = + AttributeKey.stringKey("telemetry.distro.version"); @Override public Resource createResource(ConfigProperties config) { @@ -26,9 +26,9 @@ public Resource createResource(ConfigProperties config) { ? Resource.empty() : Resource.create( Attributes.of( - TELEMETRY_AUTO_NAME, - "opentelemetry-javaagent", - TELEMETRY_AUTO_VERSION, + TELEMETRY_DISTRO_NAME, + "opentelemetry-java-instrumentation", + TELEMETRY_DISTRO_VERSION, AgentVersion.VERSION)); } } From c11faa3823c86d84574c5bbbeabdbd43d093edf6 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 11 Dec 2023 12:51:24 +0100 Subject: [PATCH 3/6] update to use the latest semconv: https://opentelemetry.io/docs/specs/semconv/resource/#telemetry-sdk-experimental --- .../smoketest/AppServerTest.groovy | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy b/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy index faf55ebf4f7f..362569b576bf 100644 --- a/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy +++ b/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy @@ -5,8 +5,8 @@ package io.opentelemetry.smoketest + import io.opentelemetry.proto.trace.v1.Span -import io.opentelemetry.semconv.ResourceAttributes import io.opentelemetry.semconv.SemanticAttributes import spock.lang.Shared import spock.lang.Unroll @@ -28,6 +28,8 @@ abstract class AppServerTest extends SmokeTest { @Shared boolean isWindows + private static final String TELEMETRY_DISTRO_VERSION = "telemetry.distro.version"; + def setupSpec() { (serverVersion, jdk) = getAppServer() isWindows = System.getProperty("os.name").toLowerCase().contains("windows") && @@ -126,7 +128,7 @@ abstract class AppServerTest extends SmokeTest { traces.countFilteredAttributes(SemanticAttributes.NETWORK_PROTOCOL_VERSION.key, "1.1") == 3 and: "Number of spans tagged with current otel library version" - traces.countFilteredResourceAttributes(ResourceAttributes.TELEMETRY_AUTO_VERSION.key, currentAgentVersion) == 3 + traces.countFilteredResourceAttributes(TELEMETRY_DISTRO_VERSION, currentAgentVersion) == 3 and: "Number of spans tagged with expected OS type" traces.countFilteredResourceAttributes(OS_TYPE.key, isWindows ? WINDOWS : LINUX) == 3 @@ -161,7 +163,7 @@ abstract class AppServerTest extends SmokeTest { traces.countFilteredAttributes(SemanticAttributes.URL_PATH.key, "/app/hello.txt") == 1 and: "Number of spans tagged with current otel library version" - traces.countFilteredResourceAttributes(ResourceAttributes.TELEMETRY_AUTO_VERSION.key, currentAgentVersion) == 1 + traces.countFilteredResourceAttributes(TELEMETRY_DISTRO_VERSION, currentAgentVersion) == 1 and: "Number of spans tagged with expected OS type" traces.countFilteredResourceAttributes(OS_TYPE.key, isWindows ? WINDOWS : LINUX) == 1 @@ -195,7 +197,7 @@ abstract class AppServerTest extends SmokeTest { traces.countFilteredAttributes(SemanticAttributes.URL_PATH.key, "/app/file-that-does-not-exist") == 1 and: "Number of spans tagged with current otel library version" - traces.countFilteredResourceAttributes(ResourceAttributes.TELEMETRY_AUTO_VERSION.key, currentAgentVersion) == traces.countSpans() + traces.countFilteredResourceAttributes(TELEMETRY_DISTRO_VERSION, currentAgentVersion) == traces.countSpans() and: "Number of spans tagged with expected OS type" traces.countFilteredResourceAttributes(OS_TYPE.key, isWindows ? WINDOWS : LINUX) == traces.countSpans() @@ -234,7 +236,7 @@ abstract class AppServerTest extends SmokeTest { traces.countFilteredAttributes(SemanticAttributes.NETWORK_PROTOCOL_VERSION.key, "1.1") == 1 and: "Number of spans tagged with current otel library version" - traces.countFilteredResourceAttributes(ResourceAttributes.TELEMETRY_AUTO_VERSION.key, currentAgentVersion) == traces.countSpans() + traces.countFilteredResourceAttributes(TELEMETRY_DISTRO_VERSION, currentAgentVersion) == traces.countSpans() and: "Number of spans tagged with expected OS type" traces.countFilteredResourceAttributes(OS_TYPE.key, isWindows ? WINDOWS : LINUX) == traces.countSpans() @@ -273,7 +275,7 @@ abstract class AppServerTest extends SmokeTest { traces.countFilteredAttributes(SemanticAttributes.URL_PATH.key, "/app/exception") == 1 and: "Number of spans tagged with current otel library version" - traces.countFilteredResourceAttributes(ResourceAttributes.TELEMETRY_AUTO_VERSION.key, currentAgentVersion) == traces.countSpans() + traces.countFilteredResourceAttributes(TELEMETRY_DISTRO_VERSION, currentAgentVersion) == traces.countSpans() and: "Number of spans tagged with expected OS type" traces.countFilteredResourceAttributes(OS_TYPE.key, isWindows ? WINDOWS : LINUX) == traces.countSpans() @@ -311,7 +313,7 @@ abstract class AppServerTest extends SmokeTest { traces.countFilteredAttributes(SemanticAttributes.NETWORK_PROTOCOL_VERSION.key, "1.1") == 1 and: "Number of spans tagged with current otel library version" - traces.countFilteredResourceAttributes(ResourceAttributes.TELEMETRY_AUTO_VERSION.key, currentAgentVersion) == traces.countSpans() + traces.countFilteredResourceAttributes(TELEMETRY_DISTRO_VERSION, currentAgentVersion) == traces.countSpans() and: "Number of spans tagged with expected OS type" traces.countFilteredResourceAttributes(OS_TYPE.key, isWindows ? WINDOWS : LINUX) == traces.countSpans() @@ -358,7 +360,7 @@ abstract class AppServerTest extends SmokeTest { traces.countFilteredAttributes(SemanticAttributes.NETWORK_PROTOCOL_VERSION.key, "1.1") == 3 and: "Number of spans tagged with current otel library version" - traces.countFilteredResourceAttributes(ResourceAttributes.TELEMETRY_AUTO_VERSION.key, currentAgentVersion) == 3 + traces.countFilteredResourceAttributes(TELEMETRY_DISTRO_VERSION, currentAgentVersion) == 3 and: "Number of spans tagged with expected OS type" traces.countFilteredResourceAttributes(OS_TYPE.key, isWindows ? WINDOWS : LINUX) == 3 From 64bd31e13babfa662359222bac9c657acc92fe0c Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 11 Dec 2023 17:26:28 +0100 Subject: [PATCH 4/6] codestyle --- .../test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy b/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy index 362569b576bf..25b6563be040 100644 --- a/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy +++ b/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy @@ -28,7 +28,7 @@ abstract class AppServerTest extends SmokeTest { @Shared boolean isWindows - private static final String TELEMETRY_DISTRO_VERSION = "telemetry.distro.version"; + private static final String TELEMETRY_DISTRO_VERSION = "telemetry.distro.version" def setupSpec() { (serverVersion, jdk) = getAppServer() From 60001a55ded7aa36bcb475ed2c5d9beafbabe4a6 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 11 Dec 2023 18:14:52 +0100 Subject: [PATCH 5/6] update to use the latest semconv: https://opentelemetry.io/docs/specs/semconv/resource/#telemetry-sdk-experimental --- .../com/example/javaagent/smoketest/SpringBootSmokeTest.java | 2 +- .../example/javaagent/smoketest/SpringBootIntegrationTest.java | 2 +- .../test/groovy/io/opentelemetry/smoketest/GrpcSmokeTest.groovy | 2 +- .../groovy/io/opentelemetry/smoketest/QuarkusSmokeTest.groovy | 2 +- .../io/opentelemetry/smoketest/SpringBootSmokeTest.groovy | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/distro/smoke-tests/src/test/java/com/example/javaagent/smoketest/SpringBootSmokeTest.java b/examples/distro/smoke-tests/src/test/java/com/example/javaagent/smoketest/SpringBootSmokeTest.java index 576488938fe0..69ac194aa558 100644 --- a/examples/distro/smoke-tests/src/test/java/com/example/javaagent/smoketest/SpringBootSmokeTest.java +++ b/examples/distro/smoke-tests/src/test/java/com/example/javaagent/smoketest/SpringBootSmokeTest.java @@ -52,7 +52,7 @@ public void springBootSmokeTestOnJDK() throws IOException, InterruptedException Assertions.assertEquals(1, countSpansByName(traces, "WebController.withSpan")); Assertions.assertEquals(2, countSpansByAttributeValue(traces, "custom", "demo")); Assertions.assertNotEquals( - 0, countResourcesByValue(traces, "telemetry.auto.version", currentAgentVersion)); + 0, countResourcesByValue(traces, "telemetry.distro.version", currentAgentVersion)); Assertions.assertNotEquals(0, countResourcesByValue(traces, "custom.resource", "demo")); stopTarget(); diff --git a/examples/extension/src/test/java/com/example/javaagent/smoketest/SpringBootIntegrationTest.java b/examples/extension/src/test/java/com/example/javaagent/smoketest/SpringBootIntegrationTest.java index c320031344d5..fe124f40b767 100644 --- a/examples/extension/src/test/java/com/example/javaagent/smoketest/SpringBootIntegrationTest.java +++ b/examples/extension/src/test/java/com/example/javaagent/smoketest/SpringBootIntegrationTest.java @@ -76,7 +76,7 @@ private void testAndVerify() throws IOException, InterruptedException { Assertions.assertEquals(1, countSpansByName(traces, "WebController.withSpan")); Assertions.assertEquals(2, countSpansByAttributeValue(traces, "custom", "demo")); Assertions.assertNotEquals( - 0, countResourcesByValue(traces, "telemetry.auto.version", currentAgentVersion)); + 0, countResourcesByValue(traces, "telemetry.distro.version", currentAgentVersion)); Assertions.assertNotEquals(0, countResourcesByValue(traces, "custom.resource", "demo")); } } diff --git a/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/GrpcSmokeTest.groovy b/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/GrpcSmokeTest.groovy index 63db1e8c2e31..66c3970353ba 100644 --- a/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/GrpcSmokeTest.groovy +++ b/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/GrpcSmokeTest.groovy @@ -51,7 +51,7 @@ class GrpcSmokeTest extends SmokeTest { countSpansByName(traces, 'opentelemetry.proto.collector.trace.v1.TraceService/Export') == 1 countSpansByName(traces, 'TestService.withSpan') == 1 - [currentAgentVersion] as Set == findResourceAttribute(traces, "telemetry.auto.version") + [currentAgentVersion] as Set == findResourceAttribute(traces, "telemetry.distro.version") .map { it.stringValue } .collect(toSet()) diff --git a/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/QuarkusSmokeTest.groovy b/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/QuarkusSmokeTest.groovy index d6b380771428..02e42ab2619d 100644 --- a/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/QuarkusSmokeTest.groovy +++ b/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/QuarkusSmokeTest.groovy @@ -43,7 +43,7 @@ class QuarkusSmokeTest extends SmokeTest { countSpansByName(traces, 'GET /hello') == 1 countSpansByName(traces, 'HelloResource.hello') == 1 - [currentAgentVersion] as Set == findResourceAttribute(traces, "telemetry.auto.version") + [currentAgentVersion] as Set == findResourceAttribute(traces, "telemetry.distro.version") .map { it.stringValue } .collect(toSet()) diff --git a/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/SpringBootSmokeTest.groovy b/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/SpringBootSmokeTest.groovy index 4e4b36ef236e..9c5ec325889b 100644 --- a/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/SpringBootSmokeTest.groovy +++ b/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/SpringBootSmokeTest.groovy @@ -60,7 +60,7 @@ class SpringBootSmokeTest extends SmokeTest { .allMatch { it.attributesList.stream().map { it.key }.collect(toSet()).containsAll(["thread.id", "thread.name"]) } then: "correct agent version is captured in the resource" - [currentAgentVersion] as Set == findResourceAttribute(traces, "telemetry.auto.version") + [currentAgentVersion] as Set == findResourceAttribute(traces, "telemetry.distro.version") .map { it.stringValue } .collect(toSet()) From 656600f704e71d6b18ca5830ce5f1e60b9c1e6df Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 12 Dec 2023 13:45:57 +0100 Subject: [PATCH 6/6] Update smoke-tests/src/test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy Co-authored-by: Lauri Tulmin --- .../test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy | 1 - 1 file changed, 1 deletion(-) diff --git a/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy b/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy index 25b6563be040..81f23842bffa 100644 --- a/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy +++ b/smoke-tests/src/test/groovy/io/opentelemetry/smoketest/AppServerTest.groovy @@ -5,7 +5,6 @@ package io.opentelemetry.smoketest - import io.opentelemetry.proto.trace.v1.Span import io.opentelemetry.semconv.SemanticAttributes import spock.lang.Shared