From 2aa21309faf2ce2cbf2944b3b17355d4a3d331de Mon Sep 17 00:00:00 2001 From: Jean Bisutti Date: Mon, 13 Jan 2025 11:28:18 +0100 Subject: [PATCH] Add distro name and version to the SDK name (#43737) --- .../utils/VersionGenerator.java | 50 +++++++++---------- .../implementation/utils/VersionTest.java | 11 ---- 2 files changed, 24 insertions(+), 37 deletions(-) diff --git a/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/main/java/com/azure/monitor/opentelemetry/autoconfigure/implementation/utils/VersionGenerator.java b/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/main/java/com/azure/monitor/opentelemetry/autoconfigure/implementation/utils/VersionGenerator.java index ab4fe81ff2aca..8f9309f3f3ae8 100644 --- a/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/main/java/com/azure/monitor/opentelemetry/autoconfigure/implementation/utils/VersionGenerator.java +++ b/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/main/java/com/azure/monitor/opentelemetry/autoconfigure/implementation/utils/VersionGenerator.java @@ -13,20 +13,36 @@ public final class VersionGenerator { private static final String UNKNOWN_VERSION_VALUE = "unknown"; - private static final String artifactName; - private static final String artifactVersion; - private static final String sdkVersionString; static { - Map properties - = CoreUtils.getProperties("azure-monitor-opentelemetry-autoconfigure.properties"); + String componentName = null; + String componentVersion = null; + + Map springDistroProperties + = CoreUtils.getProperties("azure-spring-cloud-azure-starter-monitor.properties"); + String springDistroVersion = springDistroProperties.get("version"); + if (springDistroVersion != null) { + componentName = "dss"; + componentVersion = springDistroVersion; + } + + Map quarkusProperties = CoreUtils.getProperties("quarkus-exporter.properties"); + String quarkusVersion = quarkusProperties.get("version"); + if (quarkusVersion != null) { + componentName = "dsq"; + componentVersion = quarkusVersion; + } - artifactName = properties.get("name"); - artifactVersion = properties.get("version"); + if (componentName == null) { + componentName = "ext"; + Map otelAutoconfigureProperties + = CoreUtils.getProperties("azure-monitor-opentelemetry-autoconfigure.properties"); + componentVersion = otelAutoconfigureProperties.get("version"); + } sdkVersionString = getPrefix() + "java" + getJavaVersion() + getJavaRuntime() + ":" + "otel" - + getOpenTelemetryApiVersion() + ":" + "ext" + artifactVersion; + + getOpenTelemetryApiVersion() + ":" + componentName + componentVersion; } private static String getPrefix() { @@ -56,24 +72,6 @@ private static String getOs() { return "u"; } - /** - * This method returns artifact name. - * - * @return artifactName. - */ - public static String getArtifactName() { - return artifactName; - } - - /** - * This method returns artifact version. - * - * @return artifactVersion. - */ - public static String getArtifactVersion() { - return artifactVersion; - } - /** * This method returns sdk version string as per the below format javaX:otelY:extZ X = Java * version, Y = opentelemetry version, Z = exporter version diff --git a/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/implementation/utils/VersionTest.java b/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/implementation/utils/VersionTest.java index 01d79c7776af0..7394fd77fe9ba 100644 --- a/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/implementation/utils/VersionTest.java +++ b/sdk/monitor/azure-monitor-opentelemetry-autoconfigure/src/test/java/com/azure/monitor/opentelemetry/autoconfigure/implementation/utils/VersionTest.java @@ -5,20 +5,9 @@ import org.junit.jupiter.api.Test; -import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertTrue; public class VersionTest { - @Test - public void testArtifactName() { - assertThat(VersionGenerator.getArtifactName()).isEqualTo("azure-monitor-opentelemetry-autoconfigure"); - } - - @Test - public void testArtifactVersion() { - assertTrue(VersionGenerator.getArtifactVersion().matches("[0-9].[0-9].[0-9].*")); - } - @Test public void testSdkVersion() { // OpenTelemetry added version.properties files in 1.3.0