From bace5dce1f042d76ebbfec3e888f136361d58556 Mon Sep 17 00:00:00 2001 From: Anuraag Agrawal Date: Fri, 12 Feb 2021 13:45:33 +0900 Subject: [PATCH] Rename disabled resources property to be consistent with agent. (#2792) * Rename disabled resources property to be consistent with agent. * property > env --- sdk/common/build.gradle.kts | 20 +++++++++++++++- .../opentelemetry/sdk/resources/Resource.java | 6 ++--- .../sdk/resources/ResourceProvidersTest.java | 5 ++++ .../resources/ResourceDisabledByEnvTest.java | 23 +++++++++++++++++++ .../ResourceDisabledByPropertyTest.java | 23 +++++++++++++++++++ 5 files changed, 73 insertions(+), 4 deletions(-) create mode 100644 sdk/common/src/testResourceDisabledByEnv/java/io/opentelemetry/sdk/resources/ResourceDisabledByEnvTest.java create mode 100644 sdk/common/src/testResourceDisabledByProperty/java/io/opentelemetry/sdk/resources/ResourceDisabledByPropertyTest.java diff --git a/sdk/common/build.gradle.kts b/sdk/common/build.gradle.kts index f7bee6b0db..d14d236398 100644 --- a/sdk/common/build.gradle.kts +++ b/sdk/common/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("maven-publish") id("ru.vyarus.animalsniffer") + id("org.unbroken-dome.test-sets") } description = "OpenTelemetry SDK Common" @@ -10,6 +11,11 @@ extra["moduleName"] = "io.opentelemetry.sdk.common" val mrJarVersions = listOf(9) +testSets { + create("testResourceDisabledByProperty") + create("testResourceDisabledByEnv") +} + dependencies { api(project(":api:all")) api(project(":semconv")) @@ -19,6 +25,7 @@ dependencies { testAnnotationProcessor("com.google.auto.value:auto-value") testImplementation(project(":sdk:testing")) + testImplementation(project(":sdk-extensions:resources")) testImplementation("com.google.guava:guava-testlib") } @@ -79,4 +86,15 @@ tasks { "Multi-Release" to "true" ) } -} \ No newline at end of file + + named("testResourceDisabledByProperty") { + jvmArgs("-Dotel.java.disabled.resource-providers=io.opentelemetry.sdk.extension.resources.OsResource,io.opentelemetry.sdk.extension.resources.ProcessResource") + // Properties win, this is ignored. + environment("OTEL_JAVA_DISABLED_RESOURCE_PROVIDERS", "io.opentelemetry.sdk.extension.resources.ProcessRuntimeResource") + } + + named("testResourceDisabledByEnv") { + environment("OTEL_JAVA_DISABLED_RESOURCE_PROVIDERS", "io.opentelemetry.sdk.extension.resources.OsResource,io.opentelemetry.sdk.extension.resources.ProcessResource") + + } +} diff --git a/sdk/common/src/main/java/io/opentelemetry/sdk/resources/Resource.java b/sdk/common/src/main/java/io/opentelemetry/sdk/resources/Resource.java index 549a39d62a..221d9e4aaf 100644 --- a/sdk/common/src/main/java/io/opentelemetry/sdk/resources/Resource.java +++ b/sdk/common/src/main/java/io/opentelemetry/sdk/resources/Resource.java @@ -40,7 +40,7 @@ import javax.annotation.concurrent.Immutable; public abstract class Resource { private static final String OTEL_JAVA_DISABLED_RESOURCES_PROVIDERS_PROPERTY_KEY = - "otel.java.disabled.resource_providers"; + "otel.java.disabled.resource-providers"; private static final String OTEL_JAVA_DISABLED_RESOURCES_PROVIDERS_ENV_KEY = "OTEL_JAVA_DISABLED_RESOURCE_PROVIDERS"; @@ -90,10 +90,10 @@ public abstract class Resource { private static Resource readResourceFromProviders() { String disabledResourceProvidersConfig = - System.getenv(OTEL_JAVA_DISABLED_RESOURCES_PROVIDERS_ENV_KEY); + System.getProperty(OTEL_JAVA_DISABLED_RESOURCES_PROVIDERS_PROPERTY_KEY, ""); if (disabledResourceProvidersConfig == null) { disabledResourceProvidersConfig = - System.getProperty(OTEL_JAVA_DISABLED_RESOURCES_PROVIDERS_PROPERTY_KEY, ""); + System.getenv(OTEL_JAVA_DISABLED_RESOURCES_PROVIDERS_ENV_KEY); } Set disabledResourceProviders = Arrays.stream(disabledResourceProvidersConfig.split(",")) diff --git a/sdk/common/src/test/java/io/opentelemetry/sdk/resources/ResourceProvidersTest.java b/sdk/common/src/test/java/io/opentelemetry/sdk/resources/ResourceProvidersTest.java index ce054275e4..1f4791e3a3 100644 --- a/sdk/common/src/test/java/io/opentelemetry/sdk/resources/ResourceProvidersTest.java +++ b/sdk/common/src/test/java/io/opentelemetry/sdk/resources/ResourceProvidersTest.java @@ -8,6 +8,7 @@ package io.opentelemetry.sdk.resources; import static io.opentelemetry.api.common.AttributeKey.longKey; import static org.assertj.core.api.Assertions.assertThat; +import io.opentelemetry.semconv.resource.attributes.ResourceAttributes; import org.junit.jupiter.api.Test; class ResourceProvidersTest { @@ -19,5 +20,9 @@ class ResourceProvidersTest { long providerAttribute = resource.getAttributes().get(longKey("providerAttribute")); assertThat(providerAttribute).isNotNull(); assertThat(providerAttribute).isEqualTo(42); + + assertThat(resource.getAttributes().get(ResourceAttributes.OS_TYPE)).isNotNull(); + assertThat(resource.getAttributes().get(ResourceAttributes.PROCESS_PID)).isNotNull(); + assertThat(resource.getAttributes().get(ResourceAttributes.PROCESS_RUNTIME_NAME)).isNotNull(); } } diff --git a/sdk/common/src/testResourceDisabledByEnv/java/io/opentelemetry/sdk/resources/ResourceDisabledByEnvTest.java b/sdk/common/src/testResourceDisabledByEnv/java/io/opentelemetry/sdk/resources/ResourceDisabledByEnvTest.java new file mode 100644 index 0000000000..7bd5f2e46c --- /dev/null +++ b/sdk/common/src/testResourceDisabledByEnv/java/io/opentelemetry/sdk/resources/ResourceDisabledByEnvTest.java @@ -0,0 +1,23 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.sdk.resources; + +import static org.assertj.core.api.Assertions.assertThat; + +import io.opentelemetry.semconv.resource.attributes.ResourceAttributes; +import org.junit.jupiter.api.Test; + +class ResourceDisabledByEnvTest { + + @Test + void osAndProcessDisabled() { + Resource resource = Resource.getDefault(); + + assertThat(resource.getAttributes().get(ResourceAttributes.OS_TYPE)).isNull(); + assertThat(resource.getAttributes().get(ResourceAttributes.PROCESS_PID)).isNull(); + assertThat(resource.getAttributes().get(ResourceAttributes.PROCESS_RUNTIME_NAME)).isNotNull(); + } +} diff --git a/sdk/common/src/testResourceDisabledByProperty/java/io/opentelemetry/sdk/resources/ResourceDisabledByPropertyTest.java b/sdk/common/src/testResourceDisabledByProperty/java/io/opentelemetry/sdk/resources/ResourceDisabledByPropertyTest.java new file mode 100644 index 0000000000..468be3a1f4 --- /dev/null +++ b/sdk/common/src/testResourceDisabledByProperty/java/io/opentelemetry/sdk/resources/ResourceDisabledByPropertyTest.java @@ -0,0 +1,23 @@ +/* + * Copyright The OpenTelemetry Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package io.opentelemetry.sdk.resources; + +import static org.assertj.core.api.Assertions.assertThat; + +import io.opentelemetry.semconv.resource.attributes.ResourceAttributes; +import org.junit.jupiter.api.Test; + +class ResourceDisabledByPropertyTest { + + @Test + void osAndProcessDisabled() { + Resource resource = Resource.getDefault(); + + assertThat(resource.getAttributes().get(ResourceAttributes.OS_TYPE)).isNull(); + assertThat(resource.getAttributes().get(ResourceAttributes.PROCESS_PID)).isNull(); + assertThat(resource.getAttributes().get(ResourceAttributes.PROCESS_RUNTIME_NAME)).isNotNull(); + } +}