From baf0eaa36e8831445f6f9ef160cdb08197079da1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 09:29:38 -0700 Subject: [PATCH] Update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.3.0-alpha (#1267) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Trask Stalnaker --- aws-resources/build.gradle.kts | 1 + .../aws/resource/BeanstalkResource.java | 26 ++-- .../contrib/aws/resource/Ec2Resource.java | 35 +++-- .../contrib/aws/resource/EcsResource.java | 70 +++++---- .../contrib/aws/resource/EksResource.java | 20 ++- .../contrib/aws/resource/LambdaResource.java | 25 ++-- .../aws/resource/BeanstalkResourceTest.java | 19 ++- .../contrib/aws/resource/Ec2ResourceTest.java | 51 ++++--- .../contrib/aws/resource/EcsResourceTest.java | 93 ++++++------ .../contrib/aws/resource/EksResourceTest.java | 16 +- .../aws/resource/LambdaResourceTest.java | 27 ++-- dependencyManagement/build.gradle.kts | 2 +- gcp-resources/build.gradle.kts | 1 + .../gcp/resource/GCPResourceProvider.java | 90 ++++++------ .../gcp/resource/GCPResourceProviderTest.java | 139 ++++++++---------- maven-extension/build.gradle.kts | 1 - micrometer-meter-provider/build.gradle.kts | 2 +- .../micrometer/PrometheusIntegrationTest.java | 16 +- .../instruments/MicrometerDoubleCounter.java | 2 +- .../instruments/MicrometerDoubleGauge.java | 4 +- .../MicrometerDoubleHistogram.java | 2 +- .../MicrometerDoubleUpDownCounter.java | 2 +- .../instruments/MicrometerLongCounter.java | 2 +- .../instruments/MicrometerLongGauge.java | 4 +- .../instruments/MicrometerLongHistogram.java | 2 +- .../MicrometerLongUpDownCounter.java | 2 +- .../MicrometerDoubleCounterTest.java | 2 +- .../MicrometerDoubleGaugeTest.java | 2 +- .../MicrometerDoubleHistogramTest.java | 2 +- .../MicrometerDoubleUpDownCounterTest.java | 2 +- .../MicrometerLongCounterTest.java | 2 +- .../instruments/MicrometerLongGaugeTest.java | 2 +- .../MicrometerLongHistogramTest.java | 2 +- .../MicrometerLongUpDownCounterTest.java | 2 +- .../AppServerServiceNameProvider.java | 2 +- .../AppServerServiceNameProviderTest.java | 9 +- samplers/build.gradle.kts | 3 +- .../sampler/RuleBasedRoutingSampler.java | 2 +- .../sampler/RuleBasedRoutingSamplerTest.java | 6 +- 39 files changed, 383 insertions(+), 309 deletions(-) diff --git a/aws-resources/build.gradle.kts b/aws-resources/build.gradle.kts index 8e9471c0c..e1e84095a 100644 --- a/aws-resources/build.gradle.kts +++ b/aws-resources/build.gradle.kts @@ -12,6 +12,7 @@ dependencies { api("io.opentelemetry:opentelemetry-sdk") implementation("io.opentelemetry.semconv:opentelemetry-semconv") + implementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating:1.25.0-alpha") compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure") diff --git a/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/BeanstalkResource.java b/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/BeanstalkResource.java index b7ded0218..e84fd5611 100644 --- a/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/BeanstalkResource.java +++ b/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/BeanstalkResource.java @@ -5,13 +5,21 @@ package io.opentelemetry.contrib.aws.resource; +import static io.opentelemetry.semconv.ServiceAttributes.SERVICE_VERSION; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.AWS_ELASTIC_BEANSTALK; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudProviderValues.AWS; +import static io.opentelemetry.semconv.incubating.ServiceIncubatingAttributes.SERVICE_INSTANCE_ID; +import static io.opentelemetry.semconv.incubating.ServiceIncubatingAttributes.SERVICE_NAMESPACE; + import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.semconv.ResourceAttributes; +import io.opentelemetry.semconv.SchemaUrls; import java.io.File; import java.io.IOException; import java.util.logging.Level; @@ -58,7 +66,7 @@ static Resource buildResource(String configPath) { if (!parser.isExpectedStartObjectToken()) { logger.log(Level.WARNING, "Invalid Beanstalk config: ", configPath); - return Resource.create(attrBuilders.build(), ResourceAttributes.SCHEMA_URL); + return Resource.create(attrBuilders.build(), SchemaUrls.V1_25_0); } while (parser.nextToken() != JsonToken.END_OBJECT) { @@ -66,13 +74,13 @@ static Resource buildResource(String configPath) { String value = parser.getText(); switch (parser.currentName()) { case DEVELOPMENT_ID: - attrBuilders.put(ResourceAttributes.SERVICE_INSTANCE_ID, value); + attrBuilders.put(SERVICE_INSTANCE_ID, value); break; case VERSION_LABEL: - attrBuilders.put(ResourceAttributes.SERVICE_VERSION, value); + attrBuilders.put(SERVICE_VERSION, value); break; case ENVIRONMENT_NAME: - attrBuilders.put(ResourceAttributes.SERVICE_NAMESPACE, value); + attrBuilders.put(SERVICE_NAMESPACE, value); break; default: parser.skipChildren(); @@ -83,12 +91,10 @@ static Resource buildResource(String configPath) { return Resource.empty(); } - attrBuilders.put(ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.AWS); - attrBuilders.put( - ResourceAttributes.CLOUD_PLATFORM, - ResourceAttributes.CloudPlatformValues.AWS_ELASTIC_BEANSTALK); + attrBuilders.put(CLOUD_PROVIDER, AWS); + attrBuilders.put(CLOUD_PLATFORM, AWS_ELASTIC_BEANSTALK); - return Resource.create(attrBuilders.build(), ResourceAttributes.SCHEMA_URL); + return Resource.create(attrBuilders.build(), SchemaUrls.V1_25_0); } private BeanstalkResource() {} diff --git a/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/Ec2Resource.java b/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/Ec2Resource.java index 5d0e9c968..13f45b2cc 100644 --- a/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/Ec2Resource.java +++ b/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/Ec2Resource.java @@ -5,13 +5,25 @@ package io.opentelemetry.contrib.aws.resource; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_ACCOUNT_ID; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_AVAILABILITY_ZONE; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_REGION; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.AWS_EC2; +import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_ID; +import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_IMAGE_ID; +import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_NAME; +import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_TYPE; + import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.semconv.ResourceAttributes; +import io.opentelemetry.semconv.SchemaUrls; +import io.opentelemetry.semconv.incubating.CloudIncubatingAttributes; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; @@ -78,9 +90,8 @@ static Resource buildResource(String endpoint) { String hostname = fetchHostname(hostnameUrl, token); AttributesBuilder attrBuilders = Attributes.builder(); - attrBuilders.put(ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.AWS); - attrBuilders.put( - ResourceAttributes.CLOUD_PLATFORM, ResourceAttributes.CloudPlatformValues.AWS_EC2); + attrBuilders.put(CLOUD_PROVIDER, CloudIncubatingAttributes.CloudProviderValues.AWS); + attrBuilders.put(CLOUD_PLATFORM, AWS_EC2); try (JsonParser parser = JSON_FACTORY.createParser(identity)) { parser.nextToken(); @@ -93,22 +104,22 @@ static Resource buildResource(String endpoint) { String value = parser.nextTextValue(); switch (parser.currentName()) { case "instanceId": - attrBuilders.put(ResourceAttributes.HOST_ID, value); + attrBuilders.put(HOST_ID, value); break; case "availabilityZone": - attrBuilders.put(ResourceAttributes.CLOUD_AVAILABILITY_ZONE, value); + attrBuilders.put(CLOUD_AVAILABILITY_ZONE, value); break; case "instanceType": - attrBuilders.put(ResourceAttributes.HOST_TYPE, value); + attrBuilders.put(HOST_TYPE, value); break; case "imageId": - attrBuilders.put(ResourceAttributes.HOST_IMAGE_ID, value); + attrBuilders.put(HOST_IMAGE_ID, value); break; case "accountId": - attrBuilders.put(ResourceAttributes.CLOUD_ACCOUNT_ID, value); + attrBuilders.put(CLOUD_ACCOUNT_ID, value); break; case "region": - attrBuilders.put(ResourceAttributes.CLOUD_REGION, value); + attrBuilders.put(CLOUD_REGION, value); break; default: parser.skipChildren(); @@ -119,9 +130,9 @@ static Resource buildResource(String endpoint) { return Resource.empty(); } - attrBuilders.put(ResourceAttributes.HOST_NAME, hostname); + attrBuilders.put(HOST_NAME, hostname); - return Resource.create(attrBuilders.build(), ResourceAttributes.SCHEMA_URL); + return Resource.create(attrBuilders.build(), SchemaUrls.V1_25_0); } private static String fetchToken(URL tokenUrl) { diff --git a/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/EcsResource.java b/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/EcsResource.java index 8f76fb3ae..4929b6ca5 100644 --- a/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/EcsResource.java +++ b/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/EcsResource.java @@ -5,13 +5,34 @@ package io.opentelemetry.contrib.aws.resource; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_CONTAINER_ARN; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_LAUNCHTYPE; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_TASK_ARN; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_TASK_FAMILY; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_TASK_REVISION; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_LOG_GROUP_ARNS; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_LOG_GROUP_NAMES; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_LOG_STREAM_ARNS; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_LOG_STREAM_NAMES; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_ACCOUNT_ID; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_AVAILABILITY_ZONE; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_REGION; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_RESOURCE_ID; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.AWS_ECS; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudProviderValues.AWS; +import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_ID; +import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_IMAGE_NAME; +import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_NAME; + import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.semconv.ResourceAttributes; +import io.opentelemetry.semconv.SchemaUrls; import java.io.IOException; import java.util.Collections; import java.util.Locale; @@ -58,7 +79,7 @@ static Resource buildResource(Map sysEnv, SimpleHttpClient httpC // For TaskARN, Family, Revision. // May put the same attribute twice but that shouldn't matter. fetchMetadata(httpClient, ecsMetadataUrl + "/task", attrBuilders); - return Resource.create(attrBuilders.build(), ResourceAttributes.SCHEMA_URL); + return Resource.create(attrBuilders.build(), SchemaUrls.V1_25_0); } // Not running on ECS return Resource.empty(); @@ -70,9 +91,8 @@ static void fetchMetadata( if (json.isEmpty()) { return; } - attrBuilders.put(ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.AWS); - attrBuilders.put( - ResourceAttributes.CLOUD_PLATFORM, ResourceAttributes.CloudPlatformValues.AWS_ECS); + attrBuilders.put(CLOUD_PROVIDER, AWS); + attrBuilders.put(CLOUD_PLATFORM, AWS_ECS); try (JsonParser parser = JSON_FACTORY.createParser(json)) { parser.nextToken(); LogArnBuilder logArnBuilder = new LogArnBuilder(); @@ -82,17 +102,14 @@ static void fetchMetadata( .getLogGroupArn() .ifPresent( logGroupArn -> { - attrBuilders.put( - ResourceAttributes.AWS_LOG_GROUP_ARNS, Collections.singletonList(logGroupArn)); + attrBuilders.put(AWS_LOG_GROUP_ARNS, Collections.singletonList(logGroupArn)); }); logArnBuilder .getLogStreamArn() .ifPresent( logStreamArn -> { - attrBuilders.put( - ResourceAttributes.AWS_LOG_STREAM_ARNS, - Collections.singletonList(logStreamArn)); + attrBuilders.put(AWS_LOG_STREAM_ARNS, Collections.singletonList(logStreamArn)); }); } catch (IOException e) { logger.log(Level.WARNING, "Can't get ECS metadata", e); @@ -151,26 +168,28 @@ static void parseResponse( String value = parser.nextTextValue(); switch (parser.currentName()) { case "AvailabilityZone": - attrBuilders.put(ResourceAttributes.CLOUD_AVAILABILITY_ZONE, value); + attrBuilders.put(CLOUD_AVAILABILITY_ZONE, value); break; case "DockerId": - attrBuilders.put(ResourceAttributes.CONTAINER_ID, value); + attrBuilders.put(CONTAINER_ID, value); break; case "DockerName": - attrBuilders.put(ResourceAttributes.CONTAINER_NAME, value); + attrBuilders.put(CONTAINER_NAME, value); break; case "ContainerARN": arn = value; - attrBuilders.put(ResourceAttributes.AWS_ECS_CONTAINER_ARN, value); - attrBuilders.put(ResourceAttributes.CLOUD_RESOURCE_ID, value); + attrBuilders.put(AWS_ECS_CONTAINER_ARN, value); + attrBuilders.put(CLOUD_RESOURCE_ID, value); logArnBuilder.setContainerArn(value); break; case "Image": DockerImage parsedImage = DockerImage.parse(value); if (parsedImage != null) { - attrBuilders.put(ResourceAttributes.CONTAINER_IMAGE_NAME, parsedImage.getRepository()); + attrBuilders.put(CONTAINER_IMAGE_NAME, parsedImage.getRepository()); // TODO: CONTAINER_IMAGE_TAG has been replaced with CONTAINER_IMAGE_TAGS - attrBuilders.put(ResourceAttributes.CONTAINER_IMAGE_TAG, parsedImage.getTag()); + attrBuilders.put( + io.opentelemetry.semconv.ResourceAttributes.CONTAINER_IMAGE_TAG, + parsedImage.getTag()); } break; case "ImageID": @@ -181,11 +200,11 @@ static void parseResponse( parseResponse(parser, attrBuilders, logArnBuilder); break; case "awslogs-group": - attrBuilders.put(ResourceAttributes.AWS_LOG_GROUP_NAMES, value); + attrBuilders.put(AWS_LOG_GROUP_NAMES, value); logArnBuilder.setLogGroupName(value); break; case "awslogs-stream": - attrBuilders.put(ResourceAttributes.AWS_LOG_STREAM_NAMES, value); + attrBuilders.put(AWS_LOG_STREAM_NAMES, value); logArnBuilder.setLogStreamName(value); break; case "awslogs-region": @@ -193,16 +212,16 @@ static void parseResponse( break; case "TaskARN": arn = value; - attrBuilders.put(ResourceAttributes.AWS_ECS_TASK_ARN, value); + attrBuilders.put(AWS_ECS_TASK_ARN, value); break; case "LaunchType": - attrBuilders.put(ResourceAttributes.AWS_ECS_LAUNCHTYPE, value.toLowerCase(Locale.ROOT)); + attrBuilders.put(AWS_ECS_LAUNCHTYPE, value.toLowerCase(Locale.ROOT)); break; case "Family": - attrBuilders.put(ResourceAttributes.AWS_ECS_TASK_FAMILY, value); + attrBuilders.put(AWS_ECS_TASK_FAMILY, value); break; case "Revision": - attrBuilders.put(ResourceAttributes.AWS_ECS_TASK_REVISION, value); + attrBuilders.put(AWS_ECS_TASK_REVISION, value); break; default: parser.skipChildren(); @@ -210,9 +229,8 @@ static void parseResponse( } } - getRegion(arn).ifPresent(region -> attrBuilders.put(ResourceAttributes.CLOUD_REGION, region)); - getAccountId(arn) - .ifPresent(accountId -> attrBuilders.put(ResourceAttributes.CLOUD_ACCOUNT_ID, accountId)); + getRegion(arn).ifPresent(region -> attrBuilders.put(CLOUD_REGION, region)); + getAccountId(arn).ifPresent(accountId -> attrBuilders.put(CLOUD_ACCOUNT_ID, accountId)); } private EcsResource() {} diff --git a/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/EksResource.java b/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/EksResource.java index e54d6a609..4db7718cd 100644 --- a/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/EksResource.java +++ b/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/EksResource.java @@ -5,13 +5,20 @@ package io.opentelemetry.contrib.aws.resource; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.AWS_EKS; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudProviderValues.AWS; +import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_ID; +import static io.opentelemetry.semconv.incubating.K8sIncubatingAttributes.K8S_CLUSTER_NAME; + import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.semconv.ResourceAttributes; +import io.opentelemetry.semconv.SchemaUrls; import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -65,21 +72,20 @@ static Resource buildResource( } AttributesBuilder attrBuilders = Attributes.builder(); - attrBuilders.put(ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.AWS); - attrBuilders.put( - ResourceAttributes.CLOUD_PLATFORM, ResourceAttributes.CloudPlatformValues.AWS_EKS); + attrBuilders.put(CLOUD_PROVIDER, AWS); + attrBuilders.put(CLOUD_PLATFORM, AWS_EKS); String clusterName = getClusterName(httpClient); if (clusterName != null && !clusterName.isEmpty()) { - attrBuilders.put(ResourceAttributes.K8S_CLUSTER_NAME, clusterName); + attrBuilders.put(K8S_CLUSTER_NAME, clusterName); } String containerId = dockerHelper.getContainerId(); if (containerId != null && !containerId.isEmpty()) { - attrBuilders.put(ResourceAttributes.CONTAINER_ID, containerId); + attrBuilders.put(CONTAINER_ID, containerId); } - return Resource.create(attrBuilders.build(), ResourceAttributes.SCHEMA_URL); + return Resource.create(attrBuilders.build(), SchemaUrls.V1_25_0); } private static boolean isEks( diff --git a/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/LambdaResource.java b/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/LambdaResource.java index 5bdccd9ab..612fecdf8 100644 --- a/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/LambdaResource.java +++ b/aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/LambdaResource.java @@ -5,10 +5,18 @@ package io.opentelemetry.contrib.aws.resource; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_REGION; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.AWS_LAMBDA; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudProviderValues.AWS; +import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_NAME; +import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_VERSION; + import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.AttributesBuilder; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.semconv.ResourceAttributes; +import io.opentelemetry.semconv.SchemaUrls; import java.util.Map; import java.util.stream.Stream; @@ -39,23 +47,20 @@ static Resource buildResource(Map environmentVariables) { return Resource.empty(); } - AttributesBuilder builder = - Attributes.builder() - .put(ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.AWS); - builder.put( - ResourceAttributes.CLOUD_PLATFORM, ResourceAttributes.CloudPlatformValues.AWS_LAMBDA); + AttributesBuilder builder = Attributes.builder().put(CLOUD_PROVIDER, AWS); + builder.put(CLOUD_PLATFORM, AWS_LAMBDA); if (!region.isEmpty()) { - builder.put(ResourceAttributes.CLOUD_REGION, region); + builder.put(CLOUD_REGION, region); } if (!functionName.isEmpty()) { - builder.put(ResourceAttributes.FAAS_NAME, functionName); + builder.put(FAAS_NAME, functionName); } if (!functionVersion.isEmpty()) { - builder.put(ResourceAttributes.FAAS_VERSION, functionVersion); + builder.put(FAAS_VERSION, functionVersion); } - return Resource.create(builder.build(), ResourceAttributes.SCHEMA_URL); + return Resource.create(builder.build(), SchemaUrls.V1_25_0); } private static boolean isLambda(String... envVariables) { diff --git a/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/BeanstalkResourceTest.java b/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/BeanstalkResourceTest.java index 84d55de2a..d8fc03935 100644 --- a/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/BeanstalkResourceTest.java +++ b/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/BeanstalkResourceTest.java @@ -6,6 +6,11 @@ package io.opentelemetry.contrib.aws.resource; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; +import static io.opentelemetry.semconv.ServiceAttributes.SERVICE_VERSION; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER; +import static io.opentelemetry.semconv.incubating.ServiceIncubatingAttributes.SERVICE_INSTANCE_ID; +import static io.opentelemetry.semconv.incubating.ServiceIncubatingAttributes.SERVICE_NAMESPACE; import static org.assertj.core.api.Assertions.entry; import com.google.common.base.Charsets; @@ -13,7 +18,7 @@ import io.opentelemetry.api.common.Attributes; import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.semconv.ResourceAttributes; +import io.opentelemetry.semconv.SchemaUrls; import java.io.File; import java.io.IOException; import java.util.ServiceLoader; @@ -33,12 +38,12 @@ void testCreateAttributes(@TempDir File tempFolder) throws IOException { Attributes attributes = resource.getAttributes(); assertThat(attributes) .containsOnly( - entry(ResourceAttributes.CLOUD_PROVIDER, "aws"), - entry(ResourceAttributes.CLOUD_PLATFORM, "aws_elastic_beanstalk"), - entry(ResourceAttributes.SERVICE_INSTANCE_ID, "4"), - entry(ResourceAttributes.SERVICE_VERSION, "2"), - entry(ResourceAttributes.SERVICE_NAMESPACE, "HttpSubscriber-env")); - assertThat(resource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL); + entry(CLOUD_PROVIDER, "aws"), + entry(CLOUD_PLATFORM, "aws_elastic_beanstalk"), + entry(SERVICE_INSTANCE_ID, "4"), + entry(SERVICE_VERSION, "2"), + entry(SERVICE_NAMESPACE, "HttpSubscriber-env")); + assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0); } @Test diff --git a/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/Ec2ResourceTest.java b/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/Ec2ResourceTest.java index 124b92722..1594fa6fc 100644 --- a/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/Ec2ResourceTest.java +++ b/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/Ec2ResourceTest.java @@ -6,6 +6,15 @@ package io.opentelemetry.contrib.aws.resource; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_ACCOUNT_ID; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_AVAILABILITY_ZONE; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_REGION; +import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_ID; +import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_IMAGE_ID; +import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_NAME; +import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_TYPE; import static org.assertj.core.api.Assertions.entry; import com.linecorp.armeria.common.AggregatedHttpRequest; @@ -16,7 +25,7 @@ import io.opentelemetry.api.common.Attributes; import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.semconv.ResourceAttributes; +import io.opentelemetry.semconv.SchemaUrls; import java.util.ServiceLoader; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; @@ -53,20 +62,20 @@ void imdsv2() { server.enqueue(HttpResponse.of("ec2-1-2-3-4")); Resource resource = Ec2Resource.buildResource("localhost:" + server.httpPort()); - assertThat(resource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL); + assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0); Attributes attributes = resource.getAttributes(); assertThat(attributes) .containsOnly( - entry(ResourceAttributes.CLOUD_PROVIDER, "aws"), - entry(ResourceAttributes.CLOUD_PLATFORM, "aws_ec2"), - entry(ResourceAttributes.HOST_ID, "i-1234567890abcdef0"), - entry(ResourceAttributes.CLOUD_AVAILABILITY_ZONE, "us-west-2b"), - entry(ResourceAttributes.HOST_TYPE, "t2.micro"), - entry(ResourceAttributes.HOST_IMAGE_ID, "ami-5fb8c835"), - entry(ResourceAttributes.CLOUD_ACCOUNT_ID, "123456789012"), - entry(ResourceAttributes.CLOUD_REGION, "us-west-2"), - entry(ResourceAttributes.HOST_NAME, "ec2-1-2-3-4")); + entry(CLOUD_PROVIDER, "aws"), + entry(CLOUD_PLATFORM, "aws_ec2"), + entry(HOST_ID, "i-1234567890abcdef0"), + entry(CLOUD_AVAILABILITY_ZONE, "us-west-2b"), + entry(HOST_TYPE, "t2.micro"), + entry(HOST_IMAGE_ID, "ami-5fb8c835"), + entry(CLOUD_ACCOUNT_ID, "123456789012"), + entry(CLOUD_REGION, "us-west-2"), + entry(HOST_NAME, "ec2-1-2-3-4")); AggregatedHttpRequest request1 = server.takeRequest().request(); assertThat(request1.path()).isEqualTo("/latest/api/token"); @@ -88,20 +97,20 @@ void imdsv1() { server.enqueue(HttpResponse.of("ec2-1-2-3-4")); Resource resource = Ec2Resource.buildResource("localhost:" + server.httpPort()); - assertThat(resource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL); + assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0); Attributes attributes = resource.getAttributes(); assertThat(attributes) .containsOnly( - entry(ResourceAttributes.CLOUD_PROVIDER, "aws"), - entry(ResourceAttributes.CLOUD_PLATFORM, "aws_ec2"), - entry(ResourceAttributes.HOST_ID, "i-1234567890abcdef0"), - entry(ResourceAttributes.CLOUD_AVAILABILITY_ZONE, "us-west-2b"), - entry(ResourceAttributes.HOST_TYPE, "t2.micro"), - entry(ResourceAttributes.HOST_IMAGE_ID, "ami-5fb8c835"), - entry(ResourceAttributes.CLOUD_ACCOUNT_ID, "123456789012"), - entry(ResourceAttributes.CLOUD_REGION, "us-west-2"), - entry(ResourceAttributes.HOST_NAME, "ec2-1-2-3-4")); + entry(CLOUD_PROVIDER, "aws"), + entry(CLOUD_PLATFORM, "aws_ec2"), + entry(HOST_ID, "i-1234567890abcdef0"), + entry(CLOUD_AVAILABILITY_ZONE, "us-west-2b"), + entry(HOST_TYPE, "t2.micro"), + entry(HOST_IMAGE_ID, "ami-5fb8c835"), + entry(CLOUD_ACCOUNT_ID, "123456789012"), + entry(CLOUD_REGION, "us-west-2"), + entry(HOST_NAME, "ec2-1-2-3-4")); AggregatedHttpRequest request1 = server.takeRequest().request(); assertThat(request1.path()).isEqualTo("/latest/api/token"); diff --git a/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/EcsResourceTest.java b/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/EcsResourceTest.java index a8dfca47e..8a5be041b 100644 --- a/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/EcsResourceTest.java +++ b/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/EcsResourceTest.java @@ -6,6 +6,24 @@ package io.opentelemetry.contrib.aws.resource; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_CONTAINER_ARN; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_LAUNCHTYPE; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_TASK_ARN; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_TASK_FAMILY; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_ECS_TASK_REVISION; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_LOG_GROUP_ARNS; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_LOG_GROUP_NAMES; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_LOG_STREAM_ARNS; +import static io.opentelemetry.semconv.incubating.AwsIncubatingAttributes.AWS_LOG_STREAM_NAMES; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_ACCOUNT_ID; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_AVAILABILITY_ZONE; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_REGION; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_RESOURCE_ID; +import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_ID; +import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_IMAGE_NAME; +import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_NAME; import static org.assertj.core.api.Assertions.entry; import static org.mockito.Mockito.when; @@ -14,7 +32,7 @@ import io.opentelemetry.api.common.Attributes; import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.semconv.ResourceAttributes; +import io.opentelemetry.semconv.SchemaUrls; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.Collections; @@ -48,28 +66,26 @@ void testCreateAttributesV3() throws IOException { Resource resource = EcsResource.buildResource(mockSysEnv, mockHttpClient); Attributes attributes = resource.getAttributes(); - assertThat(resource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL); + assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0); assertThat(attributes) .containsOnly( - entry(ResourceAttributes.CLOUD_PROVIDER, "aws"), - entry(ResourceAttributes.CLOUD_PLATFORM, "aws_ecs"), - entry(ResourceAttributes.CLOUD_ACCOUNT_ID, "012345678910"), - entry(ResourceAttributes.CLOUD_REGION, "us-east-2"), - entry(ResourceAttributes.CLOUD_AVAILABILITY_ZONE, "us-east-2b"), - entry(ResourceAttributes.CONTAINER_NAME, "ecs-nginx-5-nginx-curl-ccccb9f49db0dfe0d901"), - entry( - ResourceAttributes.CONTAINER_ID, - "43481a6ce4842eec8fe72fc28500c6b52edcc0917f105b83379f88cac1ff3946"), - entry(ResourceAttributes.CONTAINER_IMAGE_NAME, "nrdlngr/nginx-curl"), - entry(ResourceAttributes.CONTAINER_IMAGE_TAG, "latest"), + entry(CLOUD_PROVIDER, "aws"), + entry(CLOUD_PLATFORM, "aws_ecs"), + entry(CLOUD_ACCOUNT_ID, "012345678910"), + entry(CLOUD_REGION, "us-east-2"), + entry(CLOUD_AVAILABILITY_ZONE, "us-east-2b"), + entry(CONTAINER_NAME, "ecs-nginx-5-nginx-curl-ccccb9f49db0dfe0d901"), + entry(CONTAINER_ID, "43481a6ce4842eec8fe72fc28500c6b52edcc0917f105b83379f88cac1ff3946"), + entry(CONTAINER_IMAGE_NAME, "nrdlngr/nginx-curl"), + entry(io.opentelemetry.semconv.ResourceAttributes.CONTAINER_IMAGE_TAG, "latest"), entry( AttributeKey.stringKey("aws.ecs.container.image.id"), "sha256:2e00ae64383cfc865ba0a2ba37f61b50a120d2d9378559dcd458dc0de47bc165"), entry( - ResourceAttributes.AWS_ECS_TASK_ARN, + AWS_ECS_TASK_ARN, "arn:aws:ecs:us-east-2:012345678910:task/9781c248-0edd-4cdb-9a93-f63cb662a5d3"), - entry(ResourceAttributes.AWS_ECS_TASK_FAMILY, "nginx"), - entry(ResourceAttributes.AWS_ECS_TASK_REVISION, "5")); + entry(AWS_ECS_TASK_FAMILY, "nginx"), + entry(AWS_ECS_TASK_REVISION, "5")); } // Suppression is required for CONTAINER_IMAGE_TAG until we are ready to upgrade. @@ -87,50 +103,45 @@ void testCreateAttributesV4() throws IOException { Resource resource = EcsResource.buildResource(mockSysEnv, mockHttpClient); Attributes attributes = resource.getAttributes(); - assertThat(resource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL); + assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0); assertThat(attributes) .containsOnly( - entry(ResourceAttributes.CLOUD_PROVIDER, "aws"), - entry(ResourceAttributes.CLOUD_PLATFORM, "aws_ecs"), - entry(ResourceAttributes.CLOUD_ACCOUNT_ID, "111122223333"), - entry(ResourceAttributes.CLOUD_REGION, "us-west-2"), + entry(CLOUD_PROVIDER, "aws"), + entry(CLOUD_PLATFORM, "aws_ecs"), + entry(CLOUD_ACCOUNT_ID, "111122223333"), + entry(CLOUD_REGION, "us-west-2"), entry( - ResourceAttributes.CLOUD_RESOURCE_ID, + CLOUD_RESOURCE_ID, "arn:aws:ecs:us-west-2:111122223333:container/0206b271-b33f-47ab-86c6-a0ba208a70a9"), - entry(ResourceAttributes.CLOUD_AVAILABILITY_ZONE, "us-west-2d"), - entry(ResourceAttributes.CONTAINER_NAME, "ecs-curltest-26-curl-cca48e8dcadd97805600"), - entry( - ResourceAttributes.CONTAINER_ID, - "ea32192c8553fbff06c9340478a2ff089b2bb5646fb718b4ee206641c9086d66"), - entry( - ResourceAttributes.CONTAINER_IMAGE_NAME, - "111122223333.dkr.ecr.us-west-2.amazonaws.com/curltest"), - entry(ResourceAttributes.CONTAINER_IMAGE_TAG, "latest"), + entry(CLOUD_AVAILABILITY_ZONE, "us-west-2d"), + entry(CONTAINER_NAME, "ecs-curltest-26-curl-cca48e8dcadd97805600"), + entry(CONTAINER_ID, "ea32192c8553fbff06c9340478a2ff089b2bb5646fb718b4ee206641c9086d66"), + entry(CONTAINER_IMAGE_NAME, "111122223333.dkr.ecr.us-west-2.amazonaws.com/curltest"), + entry(io.opentelemetry.semconv.ResourceAttributes.CONTAINER_IMAGE_TAG, "latest"), entry( AttributeKey.stringKey("aws.ecs.container.image.id"), "sha256:d691691e9652791a60114e67b365688d20d19940dde7c4736ea30e660d8d3553"), entry( - ResourceAttributes.AWS_ECS_CONTAINER_ARN, + AWS_ECS_CONTAINER_ARN, "arn:aws:ecs:us-west-2:111122223333:container/0206b271-b33f-47ab-86c6-a0ba208a70a9"), + entry(AWS_LOG_GROUP_NAMES, Collections.singletonList("/ecs/metadata")), entry( - ResourceAttributes.AWS_LOG_GROUP_NAMES, Collections.singletonList("/ecs/metadata")), - entry( - ResourceAttributes.AWS_LOG_GROUP_ARNS, + AWS_LOG_GROUP_ARNS, Collections.singletonList( "arn:aws:logs:us-west-2:111122223333:log-group:/ecs/metadata")), entry( - ResourceAttributes.AWS_LOG_STREAM_NAMES, + AWS_LOG_STREAM_NAMES, Collections.singletonList("ecs/curl/8f03e41243824aea923aca126495f665")), entry( - ResourceAttributes.AWS_LOG_STREAM_ARNS, + AWS_LOG_STREAM_ARNS, Collections.singletonList( "arn:aws:logs:us-west-2:111122223333:log-group:/ecs/metadata:log-stream:ecs/curl/8f03e41243824aea923aca126495f665")), entry( - ResourceAttributes.AWS_ECS_TASK_ARN, + AWS_ECS_TASK_ARN, "arn:aws:ecs:us-west-2:111122223333:task/default/158d1c8083dd49d6b527399fd6414f5c"), - entry(ResourceAttributes.AWS_ECS_LAUNCHTYPE, "ec2"), - entry(ResourceAttributes.AWS_ECS_TASK_FAMILY, "curltest"), - entry(ResourceAttributes.AWS_ECS_TASK_REVISION, "26")); + entry(AWS_ECS_LAUNCHTYPE, "ec2"), + entry(AWS_ECS_TASK_FAMILY, "curltest"), + entry(AWS_ECS_TASK_REVISION, "26")); } @Test diff --git a/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/EksResourceTest.java b/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/EksResourceTest.java index 7649836bb..b25bb70f4 100644 --- a/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/EksResourceTest.java +++ b/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/EksResourceTest.java @@ -9,6 +9,10 @@ import static io.opentelemetry.contrib.aws.resource.EksResource.CW_CONFIGMAP_PATH; import static io.opentelemetry.contrib.aws.resource.EksResource.K8S_SVC_URL; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER; +import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_ID; +import static io.opentelemetry.semconv.incubating.K8sIncubatingAttributes.K8S_CLUSTER_NAME; import static org.assertj.core.api.Assertions.entry; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; @@ -18,7 +22,7 @@ import io.opentelemetry.api.common.Attributes; import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.semconv.ResourceAttributes; +import io.opentelemetry.semconv.SchemaUrls; import java.io.File; import java.io.IOException; import java.util.ServiceLoader; @@ -59,13 +63,13 @@ void testEks(@TempDir File tempFolder) throws IOException { mockK8sKeystoreFile.getPath()); Attributes attributes = eksResource.getAttributes(); - assertThat(eksResource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL); + assertThat(eksResource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0); assertThat(attributes) .containsOnly( - entry(ResourceAttributes.CLOUD_PROVIDER, "aws"), - entry(ResourceAttributes.CLOUD_PLATFORM, "aws_eks"), - entry(ResourceAttributes.K8S_CLUSTER_NAME, "my-cluster"), - entry(ResourceAttributes.CONTAINER_ID, "0123456789A")); + entry(CLOUD_PROVIDER, "aws"), + entry(CLOUD_PLATFORM, "aws_eks"), + entry(K8S_CLUSTER_NAME, "my-cluster"), + entry(CONTAINER_ID, "0123456789A")); } @Test diff --git a/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/LambdaResourceTest.java b/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/LambdaResourceTest.java index 8421ccc7d..efbac180f 100644 --- a/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/LambdaResourceTest.java +++ b/aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/LambdaResourceTest.java @@ -6,6 +6,11 @@ package io.opentelemetry.contrib.aws.resource; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_REGION; +import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_NAME; +import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_VERSION; import static java.util.Collections.emptyMap; import static java.util.Collections.singletonMap; import static org.assertj.core.api.Assertions.entry; @@ -13,7 +18,7 @@ import io.opentelemetry.api.common.Attributes; import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.semconv.ResourceAttributes; +import io.opentelemetry.semconv.SchemaUrls; import java.util.HashMap; import java.util.Map; import java.util.ServiceLoader; @@ -32,12 +37,12 @@ void shouldAddNonEmptyAttributes() { LambdaResource.buildResource(singletonMap("AWS_LAMBDA_FUNCTION_NAME", "my-function")); Attributes attributes = resource.getAttributes(); - assertThat(resource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL); + assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0); assertThat(attributes) .containsOnly( - entry(ResourceAttributes.CLOUD_PROVIDER, "aws"), - entry(ResourceAttributes.CLOUD_PLATFORM, "aws_lambda"), - entry(ResourceAttributes.FAAS_NAME, "my-function")); + entry(CLOUD_PROVIDER, "aws"), + entry(CLOUD_PLATFORM, "aws_lambda"), + entry(FAAS_NAME, "my-function")); } @Test @@ -50,14 +55,14 @@ void shouldAddAllAttributes() { Resource resource = LambdaResource.buildResource(envVars); Attributes attributes = resource.getAttributes(); - assertThat(resource.getSchemaUrl()).isEqualTo(ResourceAttributes.SCHEMA_URL); + assertThat(resource.getSchemaUrl()).isEqualTo(SchemaUrls.V1_25_0); assertThat(attributes) .containsOnly( - entry(ResourceAttributes.CLOUD_PROVIDER, "aws"), - entry(ResourceAttributes.CLOUD_PLATFORM, "aws_lambda"), - entry(ResourceAttributes.CLOUD_REGION, "us-east-1"), - entry(ResourceAttributes.FAAS_NAME, "my-function"), - entry(ResourceAttributes.FAAS_VERSION, "1.2.3")); + entry(CLOUD_PROVIDER, "aws"), + entry(CLOUD_PLATFORM, "aws_lambda"), + entry(CLOUD_REGION, "us-east-1"), + entry(FAAS_NAME, "my-function"), + entry(FAAS_VERSION, "1.2.3")); } @Test diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts index 491210e32..4596e829f 100644 --- a/dependencyManagement/build.gradle.kts +++ b/dependencyManagement/build.gradle.kts @@ -13,7 +13,7 @@ val DEPENDENCY_BOMS = listOf( "com.linecorp.armeria:armeria-bom:1.28.1", "org.junit:junit-bom:5.10.2", "io.grpc:grpc-bom:1.63.0", - "io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:2.2.0-alpha", + "io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:2.3.0-alpha", "org.testcontainers:testcontainers-bom:1.19.7" ) diff --git a/gcp-resources/build.gradle.kts b/gcp-resources/build.gradle.kts index 06a3234dd..3a9eae0aa 100644 --- a/gcp-resources/build.gradle.kts +++ b/gcp-resources/build.gradle.kts @@ -15,6 +15,7 @@ dependencies { implementation("com.google.cloud.opentelemetry:detector-resources-support:0.28.0") implementation("io.opentelemetry.semconv:opentelemetry-semconv") + implementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating:1.25.0-alpha") compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure") diff --git a/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/GCPResourceProvider.java b/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/GCPResourceProvider.java index f057276b4..1731e2a00 100644 --- a/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/GCPResourceProvider.java +++ b/gcp-resources/src/main/java/io/opentelemetry/contrib/gcp/resource/GCPResourceProvider.java @@ -27,6 +27,26 @@ import static com.google.cloud.opentelemetry.detection.AttributeKeys.SERVERLESS_COMPUTE_INSTANCE_ID; import static com.google.cloud.opentelemetry.detection.AttributeKeys.SERVERLESS_COMPUTE_NAME; import static com.google.cloud.opentelemetry.detection.AttributeKeys.SERVERLESS_COMPUTE_REVISION; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_ACCOUNT_ID; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_AVAILABILITY_ZONE; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_REGION; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.GCP_APP_ENGINE; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.GCP_CLOUD_FUNCTIONS; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.GCP_CLOUD_RUN; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.GCP_COMPUTE_ENGINE; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.GCP_KUBERNETES_ENGINE; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudProviderValues.GCP; +import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_INSTANCE; +import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_NAME; +import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_VERSION; +import static io.opentelemetry.semconv.incubating.GcpIncubatingAttributes.GCP_GCE_INSTANCE_HOSTNAME; +import static io.opentelemetry.semconv.incubating.GcpIncubatingAttributes.GCP_GCE_INSTANCE_NAME; +import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_ID; +import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_NAME; +import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_TYPE; +import static io.opentelemetry.semconv.incubating.K8sIncubatingAttributes.K8S_CLUSTER_NAME; import com.google.cloud.opentelemetry.detection.DetectedPlatform; import com.google.cloud.opentelemetry.detection.GCPPlatformDetector; @@ -35,7 +55,6 @@ import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.semconv.ResourceAttributes; import java.util.Map; import java.util.Optional; import java.util.logging.Logger; @@ -69,8 +88,8 @@ public Attributes getAttributes() { // This is running on some sort of GCPCompute - figure out the platform AttributesBuilder attrBuilder = Attributes.builder(); - attrBuilder.put(ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.GCP); - attrBuilder.put(ResourceAttributes.CLOUD_ACCOUNT_ID, detectedPlatform.getProjectId()); + attrBuilder.put(CLOUD_PROVIDER, GCP); + attrBuilder.put(CLOUD_ACCOUNT_ID, detectedPlatform.getProjectId()); switch (detectedPlatform.getSupportedPlatform()) { case GOOGLE_KUBERNETES_ENGINE: @@ -108,28 +127,25 @@ public Resource createResource(ConfigProperties config) { */ private static void addGceAttributes( AttributesBuilder attrBuilder, Map attributesMap) { - attrBuilder.put( - ResourceAttributes.CLOUD_PLATFORM, - ResourceAttributes.CloudPlatformValues.GCP_COMPUTE_ENGINE); + attrBuilder.put(CLOUD_PLATFORM, GCP_COMPUTE_ENGINE); Optional.ofNullable(attributesMap.get(GCE_AVAILABILITY_ZONE)) - .ifPresent(zone -> attrBuilder.put(ResourceAttributes.CLOUD_AVAILABILITY_ZONE, zone)); + .ifPresent(zone -> attrBuilder.put(CLOUD_AVAILABILITY_ZONE, zone)); Optional.ofNullable(attributesMap.get(GCE_CLOUD_REGION)) - .ifPresent(region -> attrBuilder.put(ResourceAttributes.CLOUD_REGION, region)); + .ifPresent(region -> attrBuilder.put(CLOUD_REGION, region)); Optional.ofNullable(attributesMap.get(GCE_INSTANCE_ID)) - .ifPresent(instanceId -> attrBuilder.put(ResourceAttributes.HOST_ID, instanceId)); + .ifPresent(instanceId -> attrBuilder.put(HOST_ID, instanceId)); Optional.ofNullable(attributesMap.get(GCE_INSTANCE_NAME)) .ifPresent( instanceName -> { - attrBuilder.put(ResourceAttributes.HOST_NAME, instanceName); - attrBuilder.put(ResourceAttributes.GCP_GCE_INSTANCE_NAME, instanceName); + attrBuilder.put(HOST_NAME, instanceName); + attrBuilder.put(GCP_GCE_INSTANCE_NAME, instanceName); }); Optional.ofNullable(attributesMap.get(GCE_INSTANCE_HOSTNAME)) .ifPresent( - instanceHostname -> - attrBuilder.put(ResourceAttributes.GCP_GCE_INSTANCE_HOSTNAME, instanceHostname)); + instanceHostname -> attrBuilder.put(GCP_GCE_INSTANCE_HOSTNAME, instanceHostname)); Optional.ofNullable(attributesMap.get(GCE_MACHINE_TYPE)) - .ifPresent(machineType -> attrBuilder.put(ResourceAttributes.HOST_TYPE, machineType)); + .ifPresent(machineType -> attrBuilder.put(HOST_TYPE, machineType)); } /** @@ -141,28 +157,23 @@ private static void addGceAttributes( */ private static void addGkeAttributes( AttributesBuilder attrBuilder, Map attributesMap) { - attrBuilder.put( - ResourceAttributes.CLOUD_PLATFORM, - ResourceAttributes.CloudPlatformValues.GCP_KUBERNETES_ENGINE); + attrBuilder.put(CLOUD_PLATFORM, GCP_KUBERNETES_ENGINE); Optional.ofNullable(attributesMap.get(GKE_CLUSTER_NAME)) - .ifPresent( - clusterName -> attrBuilder.put(ResourceAttributes.K8S_CLUSTER_NAME, clusterName)); + .ifPresent(clusterName -> attrBuilder.put(K8S_CLUSTER_NAME, clusterName)); Optional.ofNullable(attributesMap.get(GKE_HOST_ID)) - .ifPresent(hostId -> attrBuilder.put(ResourceAttributes.HOST_ID, hostId)); + .ifPresent(hostId -> attrBuilder.put(HOST_ID, hostId)); Optional.ofNullable(attributesMap.get(GKE_CLUSTER_LOCATION_TYPE)) .ifPresent( locationType -> { if (attributesMap.get(GKE_CLUSTER_LOCATION) != null) { switch (locationType) { case GKE_LOCATION_TYPE_REGION: - attrBuilder.put( - ResourceAttributes.CLOUD_REGION, attributesMap.get(GKE_CLUSTER_LOCATION)); + attrBuilder.put(CLOUD_REGION, attributesMap.get(GKE_CLUSTER_LOCATION)); break; case GKE_LOCATION_TYPE_ZONE: attrBuilder.put( - ResourceAttributes.CLOUD_AVAILABILITY_ZONE, - attributesMap.get(GKE_CLUSTER_LOCATION)); + CLOUD_AVAILABILITY_ZONE, attributesMap.get(GKE_CLUSTER_LOCATION)); break; default: // TODO: Figure out how to handle unexpected conditions like this @@ -184,8 +195,7 @@ private static void addGkeAttributes( */ private static void addGcrAttributes( AttributesBuilder attrBuilder, Map attributesMap) { - attrBuilder.put( - ResourceAttributes.CLOUD_PLATFORM, ResourceAttributes.CloudPlatformValues.GCP_CLOUD_RUN); + attrBuilder.put(CLOUD_PLATFORM, GCP_CLOUD_RUN); addCommonAttributesForServerlessCompute(attrBuilder, attributesMap); } @@ -198,9 +208,7 @@ private static void addGcrAttributes( */ private static void addGcfAttributes( AttributesBuilder attrBuilder, Map attributesMap) { - attrBuilder.put( - ResourceAttributes.CLOUD_PLATFORM, - ResourceAttributes.CloudPlatformValues.GCP_CLOUD_FUNCTIONS); + attrBuilder.put(CLOUD_PLATFORM, GCP_CLOUD_FUNCTIONS); addCommonAttributesForServerlessCompute(attrBuilder, attributesMap); } @@ -213,21 +221,19 @@ private static void addGcfAttributes( */ private static void addGaeAttributes( AttributesBuilder attrBuilder, Map attributesMap) { - attrBuilder.put( - ResourceAttributes.CLOUD_PLATFORM, ResourceAttributes.CloudPlatformValues.GCP_APP_ENGINE); + attrBuilder.put(CLOUD_PLATFORM, GCP_APP_ENGINE); Optional.ofNullable(attributesMap.get(GAE_MODULE_NAME)) - .ifPresent(appName -> attrBuilder.put(ResourceAttributes.FAAS_NAME, appName)); + .ifPresent(appName -> attrBuilder.put(FAAS_NAME, appName)); Optional.ofNullable(attributesMap.get(GAE_APP_VERSION)) - .ifPresent(appVersion -> attrBuilder.put(ResourceAttributes.FAAS_VERSION, appVersion)); + .ifPresent(appVersion -> attrBuilder.put(FAAS_VERSION, appVersion)); Optional.ofNullable(attributesMap.get(GAE_INSTANCE_ID)) - .ifPresent( - appInstanceId -> attrBuilder.put(ResourceAttributes.FAAS_INSTANCE, appInstanceId)); + .ifPresent(appInstanceId -> attrBuilder.put(FAAS_INSTANCE, appInstanceId)); Optional.ofNullable(attributesMap.get(GAE_CLOUD_REGION)) - .ifPresent(cloudRegion -> attrBuilder.put(ResourceAttributes.CLOUD_REGION, cloudRegion)); + .ifPresent(cloudRegion -> attrBuilder.put(CLOUD_REGION, cloudRegion)); Optional.ofNullable(attributesMap.get(GAE_AVAILABILITY_ZONE)) .ifPresent( cloudAvailabilityZone -> - attrBuilder.put(ResourceAttributes.CLOUD_AVAILABILITY_ZONE, cloudAvailabilityZone)); + attrBuilder.put(CLOUD_AVAILABILITY_ZONE, cloudAvailabilityZone)); } /** @@ -240,14 +246,14 @@ private static void addGaeAttributes( private static void addCommonAttributesForServerlessCompute( AttributesBuilder attrBuilder, Map attributesMap) { Optional.ofNullable(attributesMap.get(SERVERLESS_COMPUTE_NAME)) - .ifPresent(name -> attrBuilder.put(ResourceAttributes.FAAS_NAME, name)); + .ifPresent(name -> attrBuilder.put(FAAS_NAME, name)); Optional.ofNullable(attributesMap.get(SERVERLESS_COMPUTE_REVISION)) - .ifPresent(revision -> attrBuilder.put(ResourceAttributes.FAAS_VERSION, revision)); + .ifPresent(revision -> attrBuilder.put(FAAS_VERSION, revision)); Optional.ofNullable(attributesMap.get(SERVERLESS_COMPUTE_INSTANCE_ID)) - .ifPresent(instanceId -> attrBuilder.put(ResourceAttributes.FAAS_INSTANCE, instanceId)); + .ifPresent(instanceId -> attrBuilder.put(FAAS_INSTANCE, instanceId)); Optional.ofNullable(attributesMap.get(SERVERLESS_COMPUTE_AVAILABILITY_ZONE)) - .ifPresent(zone -> attrBuilder.put(ResourceAttributes.CLOUD_AVAILABILITY_ZONE, zone)); + .ifPresent(zone -> attrBuilder.put(CLOUD_AVAILABILITY_ZONE, zone)); Optional.ofNullable(attributesMap.get(SERVERLESS_COMPUTE_CLOUD_REGION)) - .ifPresent(region -> attrBuilder.put(ResourceAttributes.CLOUD_REGION, region)); + .ifPresent(region -> attrBuilder.put(CLOUD_REGION, region)); } } diff --git a/gcp-resources/src/test/java/io/opentelemetry/contrib/gcp/resource/GCPResourceProviderTest.java b/gcp-resources/src/test/java/io/opentelemetry/contrib/gcp/resource/GCPResourceProviderTest.java index aa6dc0668..2b73b0d76 100644 --- a/gcp-resources/src/test/java/io/opentelemetry/contrib/gcp/resource/GCPResourceProviderTest.java +++ b/gcp-resources/src/test/java/io/opentelemetry/contrib/gcp/resource/GCPResourceProviderTest.java @@ -28,6 +28,26 @@ import static com.google.cloud.opentelemetry.detection.AttributeKeys.SERVERLESS_COMPUTE_NAME; import static com.google.cloud.opentelemetry.detection.AttributeKeys.SERVERLESS_COMPUTE_REVISION; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_ACCOUNT_ID; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_AVAILABILITY_ZONE; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_REGION; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.GCP_APP_ENGINE; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.GCP_CLOUD_FUNCTIONS; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.GCP_CLOUD_RUN; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.GCP_COMPUTE_ENGINE; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudPlatformValues.GCP_KUBERNETES_ENGINE; +import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CloudProviderValues.GCP; +import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_INSTANCE; +import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_NAME; +import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_VERSION; +import static io.opentelemetry.semconv.incubating.GcpIncubatingAttributes.GCP_GCE_INSTANCE_HOSTNAME; +import static io.opentelemetry.semconv.incubating.GcpIncubatingAttributes.GCP_GCE_INSTANCE_NAME; +import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_ID; +import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_NAME; +import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_TYPE; +import static io.opentelemetry.semconv.incubating.K8sIncubatingAttributes.K8S_CLUSTER_NAME; import static org.junit.jupiter.api.Assertions.fail; import static org.mockito.Mockito.verify; @@ -37,7 +57,6 @@ import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.semconv.ResourceAttributes; import java.util.EnumSet; import java.util.HashMap; import java.util.Map; @@ -157,24 +176,16 @@ public void testGceResourceAttributesMapping() { assertThat(gotResource.getAttributes()) .hasSize(10) - .containsEntry( - ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.GCP) - .containsEntry( - ResourceAttributes.CLOUD_PLATFORM, - ResourceAttributes.CloudPlatformValues.GCP_COMPUTE_ENGINE) - .containsEntry(ResourceAttributes.CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID) - .containsEntry(ResourceAttributes.HOST_ID, detectedAttributes.get(GCE_INSTANCE_ID)) - .containsEntry(ResourceAttributes.HOST_NAME, detectedAttributes.get(GCE_INSTANCE_NAME)) - .containsEntry( - ResourceAttributes.GCP_GCE_INSTANCE_NAME, detectedAttributes.get(GCE_INSTANCE_NAME)) - .containsEntry( - ResourceAttributes.GCP_GCE_INSTANCE_HOSTNAME, - detectedAttributes.get(GCE_INSTANCE_HOSTNAME)) - .containsEntry(ResourceAttributes.HOST_TYPE, detectedAttributes.get(GCE_MACHINE_TYPE)) - .containsEntry( - ResourceAttributes.CLOUD_AVAILABILITY_ZONE, - detectedAttributes.get(GCE_AVAILABILITY_ZONE)) - .containsEntry(ResourceAttributes.CLOUD_REGION, detectedAttributes.get(GCE_CLOUD_REGION)); + .containsEntry(CLOUD_PROVIDER, GCP) + .containsEntry(CLOUD_PLATFORM, GCP_COMPUTE_ENGINE) + .containsEntry(CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID) + .containsEntry(HOST_ID, detectedAttributes.get(GCE_INSTANCE_ID)) + .containsEntry(HOST_NAME, detectedAttributes.get(GCE_INSTANCE_NAME)) + .containsEntry(GCP_GCE_INSTANCE_NAME, detectedAttributes.get(GCE_INSTANCE_NAME)) + .containsEntry(GCP_GCE_INSTANCE_HOSTNAME, detectedAttributes.get(GCE_INSTANCE_HOSTNAME)) + .containsEntry(HOST_TYPE, detectedAttributes.get(GCE_MACHINE_TYPE)) + .containsEntry(CLOUD_AVAILABILITY_ZONE, detectedAttributes.get(GCE_AVAILABILITY_ZONE)) + .containsEntry(CLOUD_REGION, detectedAttributes.get(GCE_CLOUD_REGION)); } @Test @@ -189,10 +200,9 @@ public void testGkeResourceAttributesMapping_LocationTypeRegion() { verifyGkeMapping(gotResource, mockPlatform); assertThat(gotResource.getAttributes()) .hasSize(6) - .containsEntry(ResourceAttributes.CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID) - .containsEntry( - ResourceAttributes.CLOUD_REGION, mockPlatform.getAttributes().get(GKE_CLUSTER_LOCATION)) - .doesNotContainKey(ResourceAttributes.CLOUD_AVAILABILITY_ZONE); + .containsEntry(CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID) + .containsEntry(CLOUD_REGION, mockPlatform.getAttributes().get(GKE_CLUSTER_LOCATION)) + .doesNotContainKey(CLOUD_AVAILABILITY_ZONE); } @Test @@ -207,11 +217,10 @@ public void testGkeResourceAttributesMapping_LocationTypeZone() { verifyGkeMapping(gotResource, mockPlatform); assertThat(gotResource.getAttributes()) .hasSize(6) - .containsEntry(ResourceAttributes.CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID) + .containsEntry(CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID) .containsEntry( - ResourceAttributes.CLOUD_AVAILABILITY_ZONE, - mockPlatform.getAttributes().get(GKE_CLUSTER_LOCATION)) - .doesNotContainKey(ResourceAttributes.CLOUD_REGION); + CLOUD_AVAILABILITY_ZONE, mockPlatform.getAttributes().get(GKE_CLUSTER_LOCATION)) + .doesNotContainKey(CLOUD_REGION); } @Test @@ -234,9 +243,9 @@ public void testGkeResourceAttributesMapping_LocationTypeInvalid() { verify(mockPlatform, Mockito.times(1)).getProjectId(); assertThat(gotResource.getAttributes()) .hasSize(5) - .containsEntry(ResourceAttributes.CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID) - .doesNotContainKey(ResourceAttributes.CLOUD_REGION) - .doesNotContainKey(ResourceAttributes.CLOUD_AVAILABILITY_ZONE); + .containsEntry(CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID) + .doesNotContainKey(CLOUD_REGION) + .doesNotContainKey(CLOUD_AVAILABILITY_ZONE); } @Test @@ -250,22 +259,18 @@ public void testGkeResourceAttributesMapping_LocationMissing() { verifyGkeMapping(gotResource, mockPlatform); assertThat(gotResource.getAttributes()) .hasSize(5) - .containsEntry(ResourceAttributes.CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID) - .doesNotContainKey(ResourceAttributes.CLOUD_REGION) - .doesNotContainKey(ResourceAttributes.CLOUD_AVAILABILITY_ZONE); + .containsEntry(CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID) + .doesNotContainKey(CLOUD_REGION) + .doesNotContainKey(CLOUD_AVAILABILITY_ZONE); } private static void verifyGkeMapping(Resource gotResource, DetectedPlatform detectedPlatform) { Map detectedAttributes = detectedPlatform.getAttributes(); assertThat(gotResource.getAttributes()) - .containsEntry( - ResourceAttributes.CLOUD_PLATFORM, - ResourceAttributes.CloudPlatformValues.GCP_KUBERNETES_ENGINE) - .containsEntry( - ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.GCP) - .containsEntry(ResourceAttributes.HOST_ID, detectedAttributes.get(GKE_HOST_ID)) - .containsEntry( - ResourceAttributes.K8S_CLUSTER_NAME, detectedAttributes.get(GKE_CLUSTER_NAME)); + .containsEntry(CLOUD_PLATFORM, GCP_KUBERNETES_ENGINE) + .containsEntry(CLOUD_PROVIDER, GCP) + .containsEntry(HOST_ID, detectedAttributes.get(GKE_HOST_ID)) + .containsEntry(K8S_CLUSTER_NAME, detectedAttributes.get(GKE_CLUSTER_NAME)); } @Test @@ -281,9 +286,8 @@ public void testGcrResourceAttributesMapping() { verifyServerlessMapping(gotResource, mockPlatform); assertThat(gotResource.getAttributes()) .hasSize(8) - .containsEntry( - ResourceAttributes.CLOUD_PLATFORM, ResourceAttributes.CloudPlatformValues.GCP_CLOUD_RUN) - .containsEntry(ResourceAttributes.CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID); + .containsEntry(CLOUD_PLATFORM, GCP_CLOUD_RUN) + .containsEntry(CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID); } @Test @@ -300,31 +304,21 @@ public void testGcfResourceAttributeMapping() { verifyServerlessMapping(gotResource, mockPlatform); assertThat(gotResource.getAttributes()) .hasSize(8) - .containsEntry( - ResourceAttributes.CLOUD_PLATFORM, - ResourceAttributes.CloudPlatformValues.GCP_CLOUD_FUNCTIONS) - .containsEntry(ResourceAttributes.CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID); + .containsEntry(CLOUD_PLATFORM, GCP_CLOUD_FUNCTIONS) + .containsEntry(CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID); } private static void verifyServerlessMapping( Resource gotResource, DetectedPlatform detectedPlatform) { Map detectedAttributes = detectedPlatform.getAttributes(); assertThat(gotResource.getAttributes()) + .containsEntry(CLOUD_PROVIDER, GCP) + .containsEntry(FAAS_NAME, detectedAttributes.get(SERVERLESS_COMPUTE_NAME)) + .containsEntry(FAAS_VERSION, detectedAttributes.get(SERVERLESS_COMPUTE_REVISION)) + .containsEntry(FAAS_INSTANCE, detectedAttributes.get(SERVERLESS_COMPUTE_INSTANCE_ID)) .containsEntry( - ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.GCP) - .containsEntry( - ResourceAttributes.FAAS_NAME, detectedAttributes.get(SERVERLESS_COMPUTE_NAME)) - .containsEntry( - ResourceAttributes.FAAS_VERSION, detectedAttributes.get(SERVERLESS_COMPUTE_REVISION)) - .containsEntry( - ResourceAttributes.FAAS_INSTANCE, - detectedAttributes.get(SERVERLESS_COMPUTE_INSTANCE_ID)) - .containsEntry( - ResourceAttributes.CLOUD_AVAILABILITY_ZONE, - detectedAttributes.get(SERVERLESS_COMPUTE_AVAILABILITY_ZONE)) - .containsEntry( - ResourceAttributes.CLOUD_REGION, - detectedAttributes.get(SERVERLESS_COMPUTE_CLOUD_REGION)); + CLOUD_AVAILABILITY_ZONE, detectedAttributes.get(SERVERLESS_COMPUTE_AVAILABILITY_ZONE)) + .containsEntry(CLOUD_REGION, detectedAttributes.get(SERVERLESS_COMPUTE_CLOUD_REGION)); } @Test @@ -339,19 +333,14 @@ public void testGaeResourceAttributeMapping() { assertThat(gotResource.getAttributes()) .hasSize(8) - .containsEntry( - ResourceAttributes.CLOUD_PROVIDER, ResourceAttributes.CloudProviderValues.GCP) - .containsEntry( - ResourceAttributes.CLOUD_PLATFORM, - ResourceAttributes.CloudPlatformValues.GCP_APP_ENGINE) - .containsEntry(ResourceAttributes.CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID) - .containsEntry(ResourceAttributes.FAAS_NAME, detectedAttributes.get(GAE_MODULE_NAME)) - .containsEntry(ResourceAttributes.FAAS_VERSION, detectedAttributes.get(GAE_APP_VERSION)) - .containsEntry(ResourceAttributes.FAAS_INSTANCE, detectedAttributes.get(GAE_INSTANCE_ID)) - .containsEntry( - ResourceAttributes.CLOUD_AVAILABILITY_ZONE, - detectedAttributes.get(GAE_AVAILABILITY_ZONE)) - .containsEntry(ResourceAttributes.CLOUD_REGION, detectedAttributes.get(GAE_CLOUD_REGION)); + .containsEntry(CLOUD_PROVIDER, GCP) + .containsEntry(CLOUD_PLATFORM, GCP_APP_ENGINE) + .containsEntry(CLOUD_ACCOUNT_ID, DUMMY_PROJECT_ID) + .containsEntry(FAAS_NAME, detectedAttributes.get(GAE_MODULE_NAME)) + .containsEntry(FAAS_VERSION, detectedAttributes.get(GAE_APP_VERSION)) + .containsEntry(FAAS_INSTANCE, detectedAttributes.get(GAE_INSTANCE_ID)) + .containsEntry(CLOUD_AVAILABILITY_ZONE, detectedAttributes.get(GAE_AVAILABILITY_ZONE)) + .containsEntry(CLOUD_REGION, detectedAttributes.get(GAE_CLOUD_REGION)); } @Test diff --git a/maven-extension/build.gradle.kts b/maven-extension/build.gradle.kts index 30316f046..e27feee05 100644 --- a/maven-extension/build.gradle.kts +++ b/maven-extension/build.gradle.kts @@ -16,7 +16,6 @@ dependencies { implementation("org.codehaus.plexus:plexus-component-annotations:2.1.1") implementation("io.opentelemetry:opentelemetry-api") - implementation("io.opentelemetry:opentelemetry-api-events") implementation("io.opentelemetry:opentelemetry-sdk") implementation("io.opentelemetry:opentelemetry-sdk-trace") implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi") diff --git a/micrometer-meter-provider/build.gradle.kts b/micrometer-meter-provider/build.gradle.kts index f8d1ad219..57457058f 100644 --- a/micrometer-meter-provider/build.gradle.kts +++ b/micrometer-meter-provider/build.gradle.kts @@ -9,7 +9,7 @@ otelJava.moduleName.set("io.opentelemetry.contrib.metrics.micrometer") dependencies { api("io.opentelemetry:opentelemetry-api") api("io.opentelemetry:opentelemetry-sdk-metrics") - api("io.opentelemetry:opentelemetry-extension-incubator") + api("io.opentelemetry:opentelemetry-api-incubator") compileOnly("io.micrometer:micrometer-core:1.5.0") // do not auto-update this version compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure") diff --git a/micrometer-meter-provider/src/integrationTest/java/io/opentelemetry/contrib/metrics/micrometer/PrometheusIntegrationTest.java b/micrometer-meter-provider/src/integrationTest/java/io/opentelemetry/contrib/metrics/micrometer/PrometheusIntegrationTest.java index e44f39615..770dab4c0 100644 --- a/micrometer-meter-provider/src/integrationTest/java/io/opentelemetry/contrib/metrics/micrometer/PrometheusIntegrationTest.java +++ b/micrometer-meter-provider/src/integrationTest/java/io/opentelemetry/contrib/metrics/micrometer/PrometheusIntegrationTest.java @@ -11,6 +11,14 @@ import io.micrometer.prometheus.PrometheusMeterRegistry; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedDoubleCounterBuilder; +import io.opentelemetry.api.incubator.metrics.ExtendedDoubleGaugeBuilder; +import io.opentelemetry.api.incubator.metrics.ExtendedDoubleHistogramBuilder; +import io.opentelemetry.api.incubator.metrics.ExtendedDoubleUpDownCounterBuilder; +import io.opentelemetry.api.incubator.metrics.ExtendedLongCounterBuilder; +import io.opentelemetry.api.incubator.metrics.ExtendedLongGaugeBuilder; +import io.opentelemetry.api.incubator.metrics.ExtendedLongHistogramBuilder; +import io.opentelemetry.api.incubator.metrics.ExtendedLongUpDownCounterBuilder; import io.opentelemetry.api.metrics.DoubleCounter; import io.opentelemetry.api.metrics.DoubleCounterBuilder; import io.opentelemetry.api.metrics.DoubleGaugeBuilder; @@ -33,14 +41,6 @@ import io.opentelemetry.api.metrics.ObservableLongCounter; import io.opentelemetry.api.metrics.ObservableLongGauge; import io.opentelemetry.api.metrics.ObservableLongUpDownCounter; -import io.opentelemetry.extension.incubator.metrics.ExtendedDoubleCounterBuilder; -import io.opentelemetry.extension.incubator.metrics.ExtendedDoubleGaugeBuilder; -import io.opentelemetry.extension.incubator.metrics.ExtendedDoubleHistogramBuilder; -import io.opentelemetry.extension.incubator.metrics.ExtendedDoubleUpDownCounterBuilder; -import io.opentelemetry.extension.incubator.metrics.ExtendedLongCounterBuilder; -import io.opentelemetry.extension.incubator.metrics.ExtendedLongGaugeBuilder; -import io.opentelemetry.extension.incubator.metrics.ExtendedLongHistogramBuilder; -import io.opentelemetry.extension.incubator.metrics.ExtendedLongUpDownCounterBuilder; import java.util.Arrays; import java.util.Collections; import java.util.concurrent.atomic.AtomicBoolean; diff --git a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleCounter.java b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleCounter.java index 302f1ca23..15e4dd5b1 100644 --- a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleCounter.java +++ b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleCounter.java @@ -6,13 +6,13 @@ package io.opentelemetry.contrib.metrics.micrometer.internal.instruments; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedDoubleCounterBuilder; import io.opentelemetry.api.metrics.DoubleCounter; import io.opentelemetry.api.metrics.DoubleCounterBuilder; import io.opentelemetry.api.metrics.ObservableDoubleCounter; import io.opentelemetry.api.metrics.ObservableDoubleMeasurement; import io.opentelemetry.context.Context; import io.opentelemetry.contrib.metrics.micrometer.internal.state.InstrumentState; -import io.opentelemetry.extension.incubator.metrics.ExtendedDoubleCounterBuilder; import java.util.function.Consumer; final class MicrometerDoubleCounter extends AbstractCounter diff --git a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleGauge.java b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleGauge.java index b8f9a0d50..957ef593f 100644 --- a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleGauge.java +++ b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleGauge.java @@ -6,14 +6,14 @@ package io.opentelemetry.contrib.metrics.micrometer.internal.instruments; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.DoubleGauge; +import io.opentelemetry.api.incubator.metrics.ExtendedDoubleGaugeBuilder; import io.opentelemetry.api.metrics.DoubleGaugeBuilder; import io.opentelemetry.api.metrics.LongGaugeBuilder; import io.opentelemetry.api.metrics.ObservableDoubleGauge; import io.opentelemetry.api.metrics.ObservableDoubleMeasurement; import io.opentelemetry.contrib.metrics.micrometer.internal.state.InstrumentState; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterSharedState; -import io.opentelemetry.extension.incubator.metrics.DoubleGauge; -import io.opentelemetry.extension.incubator.metrics.ExtendedDoubleGaugeBuilder; import java.util.function.Consumer; public final class MicrometerDoubleGauge extends AbstractGauge diff --git a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleHistogram.java b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleHistogram.java index ab994c7f8..2ddecc1eb 100644 --- a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleHistogram.java +++ b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleHistogram.java @@ -6,13 +6,13 @@ package io.opentelemetry.contrib.metrics.micrometer.internal.instruments; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedDoubleHistogramBuilder; import io.opentelemetry.api.metrics.DoubleHistogram; import io.opentelemetry.api.metrics.DoubleHistogramBuilder; import io.opentelemetry.api.metrics.LongHistogramBuilder; import io.opentelemetry.context.Context; import io.opentelemetry.contrib.metrics.micrometer.internal.state.InstrumentState; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterSharedState; -import io.opentelemetry.extension.incubator.metrics.ExtendedDoubleHistogramBuilder; import java.util.List; public final class MicrometerDoubleHistogram extends AbstractHistogram implements DoubleHistogram { diff --git a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleUpDownCounter.java b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleUpDownCounter.java index b5e153adb..daddb82a7 100644 --- a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleUpDownCounter.java +++ b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleUpDownCounter.java @@ -6,13 +6,13 @@ package io.opentelemetry.contrib.metrics.micrometer.internal.instruments; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedDoubleUpDownCounterBuilder; import io.opentelemetry.api.metrics.DoubleUpDownCounter; import io.opentelemetry.api.metrics.DoubleUpDownCounterBuilder; import io.opentelemetry.api.metrics.ObservableDoubleMeasurement; import io.opentelemetry.api.metrics.ObservableDoubleUpDownCounter; import io.opentelemetry.context.Context; import io.opentelemetry.contrib.metrics.micrometer.internal.state.InstrumentState; -import io.opentelemetry.extension.incubator.metrics.ExtendedDoubleUpDownCounterBuilder; import java.util.function.Consumer; final class MicrometerDoubleUpDownCounter extends AbstractUpDownCounter diff --git a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongCounter.java b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongCounter.java index 6cfa54b75..d28870285 100644 --- a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongCounter.java +++ b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongCounter.java @@ -6,6 +6,7 @@ package io.opentelemetry.contrib.metrics.micrometer.internal.instruments; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedLongCounterBuilder; import io.opentelemetry.api.metrics.DoubleCounterBuilder; import io.opentelemetry.api.metrics.LongCounter; import io.opentelemetry.api.metrics.LongCounterBuilder; @@ -14,7 +15,6 @@ import io.opentelemetry.context.Context; import io.opentelemetry.contrib.metrics.micrometer.internal.state.InstrumentState; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterSharedState; -import io.opentelemetry.extension.incubator.metrics.ExtendedLongCounterBuilder; import java.util.function.Consumer; public final class MicrometerLongCounter extends AbstractCounter diff --git a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongGauge.java b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongGauge.java index 834376127..c1ce1ef3f 100644 --- a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongGauge.java +++ b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongGauge.java @@ -6,12 +6,12 @@ package io.opentelemetry.contrib.metrics.micrometer.internal.instruments; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedLongGaugeBuilder; +import io.opentelemetry.api.incubator.metrics.LongGauge; import io.opentelemetry.api.metrics.LongGaugeBuilder; import io.opentelemetry.api.metrics.ObservableLongGauge; import io.opentelemetry.api.metrics.ObservableLongMeasurement; import io.opentelemetry.contrib.metrics.micrometer.internal.state.InstrumentState; -import io.opentelemetry.extension.incubator.metrics.ExtendedLongGaugeBuilder; -import io.opentelemetry.extension.incubator.metrics.LongGauge; import java.util.function.Consumer; public final class MicrometerLongGauge extends AbstractGauge diff --git a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongHistogram.java b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongHistogram.java index c8b6704b4..8db6403b4 100644 --- a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongHistogram.java +++ b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongHistogram.java @@ -6,11 +6,11 @@ package io.opentelemetry.contrib.metrics.micrometer.internal.instruments; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedLongHistogramBuilder; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.LongHistogramBuilder; import io.opentelemetry.context.Context; import io.opentelemetry.contrib.metrics.micrometer.internal.state.InstrumentState; -import io.opentelemetry.extension.incubator.metrics.ExtendedLongHistogramBuilder; import java.util.List; final class MicrometerLongHistogram extends AbstractHistogram implements LongHistogram { diff --git a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongUpDownCounter.java b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongUpDownCounter.java index 5e54455c2..3c9a97569 100644 --- a/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongUpDownCounter.java +++ b/micrometer-meter-provider/src/main/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongUpDownCounter.java @@ -6,6 +6,7 @@ package io.opentelemetry.contrib.metrics.micrometer.internal.instruments; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedLongUpDownCounterBuilder; import io.opentelemetry.api.metrics.DoubleUpDownCounterBuilder; import io.opentelemetry.api.metrics.LongUpDownCounter; import io.opentelemetry.api.metrics.LongUpDownCounterBuilder; @@ -14,7 +15,6 @@ import io.opentelemetry.context.Context; import io.opentelemetry.contrib.metrics.micrometer.internal.state.InstrumentState; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterSharedState; -import io.opentelemetry.extension.incubator.metrics.ExtendedLongUpDownCounterBuilder; import java.util.function.Consumer; public final class MicrometerLongUpDownCounter extends AbstractUpDownCounter diff --git a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleCounterTest.java b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleCounterTest.java index 3981f38e3..04e3d652d 100644 --- a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleCounterTest.java +++ b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleCounterTest.java @@ -14,6 +14,7 @@ import io.micrometer.core.instrument.simple.SimpleMeterRegistry; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedDoubleCounterBuilder; import io.opentelemetry.api.metrics.DoubleCounter; import io.opentelemetry.api.metrics.DoubleCounterBuilder; import io.opentelemetry.api.metrics.ObservableDoubleCounter; @@ -22,7 +23,6 @@ import io.opentelemetry.contrib.metrics.micrometer.internal.Constants; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterProviderSharedState; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterSharedState; -import io.opentelemetry.extension.incubator.metrics.ExtendedDoubleCounterBuilder; import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleGaugeTest.java b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleGaugeTest.java index 59b3de963..df358a1b9 100644 --- a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleGaugeTest.java +++ b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleGaugeTest.java @@ -13,13 +13,13 @@ import io.micrometer.core.instrument.simple.SimpleMeterRegistry; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedDoubleGaugeBuilder; import io.opentelemetry.api.metrics.DoubleGaugeBuilder; import io.opentelemetry.api.metrics.ObservableDoubleGauge; import io.opentelemetry.contrib.metrics.micrometer.TestCallbackRegistrar; import io.opentelemetry.contrib.metrics.micrometer.internal.Constants; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterProviderSharedState; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterSharedState; -import io.opentelemetry.extension.incubator.metrics.ExtendedDoubleGaugeBuilder; import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleHistogramTest.java b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleHistogramTest.java index a7396e170..bc88fccc7 100644 --- a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleHistogramTest.java +++ b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleHistogramTest.java @@ -15,6 +15,7 @@ import io.micrometer.core.instrument.simple.SimpleMeterRegistry; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedDoubleHistogramBuilder; import io.opentelemetry.api.metrics.DoubleHistogram; import io.opentelemetry.api.metrics.DoubleHistogramBuilder; import io.opentelemetry.context.Context; @@ -22,7 +23,6 @@ import io.opentelemetry.contrib.metrics.micrometer.internal.Constants; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterProviderSharedState; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterSharedState; -import io.opentelemetry.extension.incubator.metrics.ExtendedDoubleHistogramBuilder; import java.util.Arrays; import java.util.Collections; import org.junit.jupiter.api.BeforeEach; diff --git a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleUpDownCounterTest.java b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleUpDownCounterTest.java index a22e95dba..57cf8922e 100644 --- a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleUpDownCounterTest.java +++ b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerDoubleUpDownCounterTest.java @@ -13,6 +13,7 @@ import io.micrometer.core.instrument.simple.SimpleMeterRegistry; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedDoubleUpDownCounterBuilder; import io.opentelemetry.api.metrics.DoubleUpDownCounter; import io.opentelemetry.api.metrics.DoubleUpDownCounterBuilder; import io.opentelemetry.api.metrics.ObservableDoubleUpDownCounter; @@ -21,7 +22,6 @@ import io.opentelemetry.contrib.metrics.micrometer.internal.Constants; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterProviderSharedState; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterSharedState; -import io.opentelemetry.extension.incubator.metrics.ExtendedDoubleUpDownCounterBuilder; import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongCounterTest.java b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongCounterTest.java index 596c20a20..803cc0952 100644 --- a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongCounterTest.java +++ b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongCounterTest.java @@ -14,6 +14,7 @@ import io.micrometer.core.instrument.simple.SimpleMeterRegistry; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedLongCounterBuilder; import io.opentelemetry.api.metrics.LongCounter; import io.opentelemetry.api.metrics.LongCounterBuilder; import io.opentelemetry.api.metrics.ObservableLongCounter; @@ -22,7 +23,6 @@ import io.opentelemetry.contrib.metrics.micrometer.internal.Constants; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterProviderSharedState; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterSharedState; -import io.opentelemetry.extension.incubator.metrics.ExtendedLongCounterBuilder; import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongGaugeTest.java b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongGaugeTest.java index 3f9b65561..f55087dcf 100644 --- a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongGaugeTest.java +++ b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongGaugeTest.java @@ -13,13 +13,13 @@ import io.micrometer.core.instrument.simple.SimpleMeterRegistry; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedLongGaugeBuilder; import io.opentelemetry.api.metrics.LongGaugeBuilder; import io.opentelemetry.api.metrics.ObservableLongGauge; import io.opentelemetry.contrib.metrics.micrometer.TestCallbackRegistrar; import io.opentelemetry.contrib.metrics.micrometer.internal.Constants; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterProviderSharedState; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterSharedState; -import io.opentelemetry.extension.incubator.metrics.ExtendedLongGaugeBuilder; import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongHistogramTest.java b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongHistogramTest.java index e49501d51..880e7d766 100644 --- a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongHistogramTest.java +++ b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongHistogramTest.java @@ -15,6 +15,7 @@ import io.micrometer.core.instrument.simple.SimpleMeterRegistry; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedLongHistogramBuilder; import io.opentelemetry.api.metrics.LongHistogram; import io.opentelemetry.api.metrics.LongHistogramBuilder; import io.opentelemetry.context.Context; @@ -22,7 +23,6 @@ import io.opentelemetry.contrib.metrics.micrometer.internal.Constants; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterProviderSharedState; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterSharedState; -import io.opentelemetry.extension.incubator.metrics.ExtendedLongHistogramBuilder; import java.util.Arrays; import java.util.Collections; import org.junit.jupiter.api.BeforeEach; diff --git a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongUpDownCounterTest.java b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongUpDownCounterTest.java index f79c1d2ef..e4bce0d99 100644 --- a/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongUpDownCounterTest.java +++ b/micrometer-meter-provider/src/test/java/io/opentelemetry/contrib/metrics/micrometer/internal/instruments/MicrometerLongUpDownCounterTest.java @@ -13,6 +13,7 @@ import io.micrometer.core.instrument.simple.SimpleMeterRegistry; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.common.Attributes; +import io.opentelemetry.api.incubator.metrics.ExtendedLongUpDownCounterBuilder; import io.opentelemetry.api.metrics.LongUpDownCounter; import io.opentelemetry.api.metrics.LongUpDownCounterBuilder; import io.opentelemetry.api.metrics.ObservableLongUpDownCounter; @@ -21,7 +22,6 @@ import io.opentelemetry.contrib.metrics.micrometer.internal.Constants; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterProviderSharedState; import io.opentelemetry.contrib.metrics.micrometer.internal.state.MeterSharedState; -import io.opentelemetry.extension.incubator.metrics.ExtendedLongUpDownCounterBuilder; import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/resource-providers/src/main/java/io/opentelemetry/contrib/resourceproviders/AppServerServiceNameProvider.java b/resource-providers/src/main/java/io/opentelemetry/contrib/resourceproviders/AppServerServiceNameProvider.java index 0c6f86b6d..505dbef84 100644 --- a/resource-providers/src/main/java/io/opentelemetry/contrib/resourceproviders/AppServerServiceNameProvider.java +++ b/resource-providers/src/main/java/io/opentelemetry/contrib/resourceproviders/AppServerServiceNameProvider.java @@ -5,7 +5,7 @@ package io.opentelemetry.contrib.resourceproviders; -import static io.opentelemetry.semconv.ResourceAttributes.SERVICE_NAME; +import static io.opentelemetry.semconv.ServiceAttributes.SERVICE_NAME; import static java.util.logging.Level.FINE; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; diff --git a/resource-providers/src/test/java/io/opentelemetry/contrib/resourceproviders/AppServerServiceNameProviderTest.java b/resource-providers/src/test/java/io/opentelemetry/contrib/resourceproviders/AppServerServiceNameProviderTest.java index e4b3957a7..c25e9b91c 100644 --- a/resource-providers/src/test/java/io/opentelemetry/contrib/resourceproviders/AppServerServiceNameProviderTest.java +++ b/resource-providers/src/test/java/io/opentelemetry/contrib/resourceproviders/AppServerServiceNameProviderTest.java @@ -5,6 +5,7 @@ package io.opentelemetry.contrib.resourceproviders; +import static io.opentelemetry.semconv.ServiceAttributes.SERVICE_NAME; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -12,7 +13,6 @@ import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.resources.Resource; -import io.opentelemetry.semconv.ResourceAttributes; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; @@ -55,9 +55,7 @@ void detectorThrows() throws Exception { @Test void shouldApply() { Resource existing = - Resource.builder() - .put(ResourceAttributes.SERVICE_NAME.getKey(), "unknown_service:java") - .build(); + Resource.builder().put(SERVICE_NAME.getKey(), "unknown_service:java").build(); ConfigProperties config = mock(ConfigProperties.class); @@ -82,8 +80,7 @@ void shouldApply_serviceNameAlreadySetInConfig() { @Test void shouldApply_serviceNameAlreadyInResource() { - Resource existing = - Resource.builder().put(ResourceAttributes.SERVICE_NAME.getKey(), "shemp").build(); + Resource existing = Resource.builder().put(SERVICE_NAME.getKey(), "shemp").build(); ConfigProperties config = mock(ConfigProperties.class); diff --git a/samplers/build.gradle.kts b/samplers/build.gradle.kts index 38d982496..3c46b2b09 100644 --- a/samplers/build.gradle.kts +++ b/samplers/build.gradle.kts @@ -8,7 +8,8 @@ otelJava.moduleName.set("io.opentelemetry.contrib.sampler") dependencies { api("io.opentelemetry:opentelemetry-sdk") - api("io.opentelemetry.semconv:opentelemetry-semconv") + implementation("io.opentelemetry.semconv:opentelemetry-semconv") + implementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating:1.25.0-alpha") testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure") api("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi") } diff --git a/samplers/src/main/java/io/opentelemetry/contrib/sampler/RuleBasedRoutingSampler.java b/samplers/src/main/java/io/opentelemetry/contrib/sampler/RuleBasedRoutingSampler.java index e29ffd3ba..6dc63f58e 100644 --- a/samplers/src/main/java/io/opentelemetry/contrib/sampler/RuleBasedRoutingSampler.java +++ b/samplers/src/main/java/io/opentelemetry/contrib/sampler/RuleBasedRoutingSampler.java @@ -5,7 +5,7 @@ package io.opentelemetry.contrib.sampler; -import static io.opentelemetry.semconv.SemanticAttributes.THREAD_NAME; +import static io.opentelemetry.semconv.incubating.ThreadIncubatingAttributes.THREAD_NAME; import static java.util.Objects.requireNonNull; import io.opentelemetry.api.common.Attributes; diff --git a/samplers/src/test/java/io/opentelemetry/contrib/sampler/RuleBasedRoutingSamplerTest.java b/samplers/src/test/java/io/opentelemetry/contrib/sampler/RuleBasedRoutingSamplerTest.java index 30cf25871..05a4301e6 100644 --- a/samplers/src/test/java/io/opentelemetry/contrib/sampler/RuleBasedRoutingSamplerTest.java +++ b/samplers/src/test/java/io/opentelemetry/contrib/sampler/RuleBasedRoutingSamplerTest.java @@ -5,9 +5,9 @@ package io.opentelemetry.contrib.sampler; -import static io.opentelemetry.semconv.SemanticAttributes.THREAD_NAME; -import static io.opentelemetry.semconv.SemanticAttributes.URL_FULL; -import static io.opentelemetry.semconv.SemanticAttributes.URL_PATH; +import static io.opentelemetry.semconv.UrlAttributes.URL_FULL; +import static io.opentelemetry.semconv.UrlAttributes.URL_PATH; +import static io.opentelemetry.semconv.incubating.ThreadIncubatingAttributes.THREAD_NAME; import static java.util.Collections.emptyList; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType;