Skip to content

Commit d81cfab

Browse files
committed
fix semconv usage
1 parent 1d41f6f commit d81cfab

File tree

11 files changed

+110
-51
lines changed

11 files changed

+110
-51
lines changed

azure-resources/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,14 @@ dependencies {
1717
api("io.opentelemetry:opentelemetry-api")
1818
api("io.opentelemetry:opentelemetry-sdk")
1919

20-
implementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating")
20+
implementation("io.opentelemetry.semconv:opentelemetry-semconv")
2121

2222
compileOnly("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
2323

2424
implementation("com.fasterxml.jackson.core:jackson-core")
2525
implementation("com.squareup.okhttp3:okhttp")
2626

27+
testImplementation("io.opentelemetry.semconv:opentelemetry-semconv-incubating")
2728
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
2829
testImplementation("io.opentelemetry:opentelemetry-sdk-testing")
2930

azure-resources/src/main/java/io/opentelemetry/contrib/azure/resource/AzureAksResourceProvider.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55

66
package io.opentelemetry.contrib.azure.resource;
77

8+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.CloudPlatformIncubatingValues.AZURE_AKS;
9+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.K8S_CLUSTER_NAME;
10+
811
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
912
import io.opentelemetry.sdk.resources.Resource;
10-
import io.opentelemetry.semconv.incubating.CloudIncubatingAttributes;
11-
import io.opentelemetry.semconv.incubating.K8sIncubatingAttributes;
1213
import java.util.HashMap;
1314
import java.util.Map;
1415
import java.util.Optional;
@@ -22,7 +23,7 @@ public class AzureAksResourceProvider extends CloudResourceProvider {
2223
COMPUTE_MAPPING.put(
2324
"resourceGroupName",
2425
new AzureVmResourceProvider.Entry(
25-
K8sIncubatingAttributes.K8S_CLUSTER_NAME, AzureAksResourceProvider::parseClusterName));
26+
K8S_CLUSTER_NAME, AzureAksResourceProvider::parseClusterName));
2627
}
2728

2829
// visible for testing
@@ -67,10 +68,7 @@ public Resource createResource(ConfigProperties configProperties) {
6768
}
6869
return client
6970
.get()
70-
.map(
71-
body ->
72-
AzureVmResourceProvider.parseMetadata(
73-
body, COMPUTE_MAPPING, CloudIncubatingAttributes.CloudPlatformValues.AZURE_AKS))
71+
.map(body -> AzureVmResourceProvider.parseMetadata(body, COMPUTE_MAPPING, AZURE_AKS))
7472
.orElse(Resource.empty());
7573
}
7674
}

azure-resources/src/main/java/io/opentelemetry/contrib/azure/resource/AzureAppServiceResourceProvider.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@
55

66
package io.opentelemetry.contrib.azure.resource;
77

8+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.CLOUD_REGION;
9+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.CLOUD_RESOURCE_ID;
10+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.CloudPlatformIncubatingValues.AZURE_APP_SERVICE;
11+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.DEPLOYMENT_ENVIRONMENT_NAME;
12+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.HOST_ID;
13+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.SERVICE_INSTANCE_ID;
814
import static io.opentelemetry.semconv.ServiceAttributes.SERVICE_NAME;
9-
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_REGION;
10-
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_RESOURCE_ID;
11-
import static io.opentelemetry.semconv.incubating.DeploymentIncubatingAttributes.DEPLOYMENT_ENVIRONMENT;
12-
import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_ID;
13-
import static io.opentelemetry.semconv.incubating.ServiceIncubatingAttributes.SERVICE_INSTANCE_ID;
1415

1516
import io.opentelemetry.api.common.AttributeKey;
1617
import io.opentelemetry.api.common.Attributes;
1718
import io.opentelemetry.api.common.AttributesBuilder;
1819
import io.opentelemetry.api.internal.StringUtils;
1920
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
2021
import io.opentelemetry.sdk.resources.Resource;
21-
import io.opentelemetry.semconv.incubating.CloudIncubatingAttributes;
2222
import java.util.HashMap;
2323
import java.util.Map;
2424
import java.util.Objects;
@@ -41,7 +41,7 @@ public class AzureAppServiceResourceProvider extends CloudResourceProvider {
4141

4242
static {
4343
ENV_VAR_MAPPING.put(CLOUD_REGION, REGION_NAME);
44-
ENV_VAR_MAPPING.put(DEPLOYMENT_ENVIRONMENT, WEBSITE_SLOT_NAME);
44+
ENV_VAR_MAPPING.put(DEPLOYMENT_ENVIRONMENT_NAME, WEBSITE_SLOT_NAME);
4545
ENV_VAR_MAPPING.put(HOST_ID, WEBSITE_HOSTNAME);
4646
ENV_VAR_MAPPING.put(SERVICE_INSTANCE_ID, WEBSITE_INSTANCE_ID);
4747
ENV_VAR_MAPPING.put(AZURE_APP_SERVICE_STAMP_RESOURCE_ATTRIBUTE, WEBSITE_HOME_STAMPNAME);
@@ -70,9 +70,7 @@ public Attributes getAttributes() {
7070
return Attributes.empty();
7171
}
7272
String name = Objects.requireNonNull(env.get(WEBSITE_SITE_NAME));
73-
AttributesBuilder builder =
74-
AzureVmResourceProvider.azureAttributeBuilder(
75-
CloudIncubatingAttributes.CloudPlatformValues.AZURE_APP_SERVICE);
73+
AttributesBuilder builder = AzureVmResourceProvider.azureAttributeBuilder(AZURE_APP_SERVICE);
7674
builder.put(SERVICE_NAME, name);
7775

7876
String resourceUri = resourceUri(name);

azure-resources/src/main/java/io/opentelemetry/contrib/azure/resource/AzureContainersResourceProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
package io.opentelemetry.contrib.azure.resource;
77

8+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.SERVICE_INSTANCE_ID;
89
import static io.opentelemetry.semconv.ServiceAttributes.SERVICE_NAME;
910
import static io.opentelemetry.semconv.ServiceAttributes.SERVICE_VERSION;
10-
import static io.opentelemetry.semconv.incubating.ServiceIncubatingAttributes.SERVICE_INSTANCE_ID;
1111

1212
import io.opentelemetry.api.common.AttributeKey;
1313
import io.opentelemetry.api.common.Attributes;

azure-resources/src/main/java/io/opentelemetry/contrib/azure/resource/AzureFunctionsResourceProvider.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,18 @@
55

66
package io.opentelemetry.contrib.azure.resource;
77

8-
import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_INSTANCE;
9-
import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_MAX_MEMORY;
10-
import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_NAME;
11-
import static io.opentelemetry.semconv.incubating.FaasIncubatingAttributes.FAAS_VERSION;
8+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.CLOUD_REGION;
9+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.CloudPlatformIncubatingValues.AZURE_FUNCTIONS;
10+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.FAAS_INSTANCE;
11+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.FAAS_MAX_MEMORY;
12+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.FAAS_NAME;
13+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.FAAS_VERSION;
1214

1315
import io.opentelemetry.api.common.AttributeKey;
1416
import io.opentelemetry.api.common.Attributes;
1517
import io.opentelemetry.api.common.AttributesBuilder;
1618
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1719
import io.opentelemetry.sdk.resources.Resource;
18-
import io.opentelemetry.semconv.incubating.CloudIncubatingAttributes;
1920
import java.util.HashMap;
2021
import java.util.Map;
2122

@@ -27,8 +28,7 @@ public class AzureFunctionsResourceProvider extends CloudResourceProvider {
2728
private static final Map<AttributeKey<String>, String> ENV_VAR_MAPPING = new HashMap<>();
2829

2930
static {
30-
ENV_VAR_MAPPING.put(
31-
CloudIncubatingAttributes.CLOUD_REGION, AzureAppServiceResourceProvider.REGION_NAME);
31+
ENV_VAR_MAPPING.put(CLOUD_REGION, AzureAppServiceResourceProvider.REGION_NAME);
3232
ENV_VAR_MAPPING.put(FAAS_NAME, AzureAppServiceResourceProvider.WEBSITE_SITE_NAME);
3333
ENV_VAR_MAPPING.put(FAAS_VERSION, FUNCTIONS_VERSION);
3434
ENV_VAR_MAPPING.put(FAAS_INSTANCE, AzureAppServiceResourceProvider.WEBSITE_INSTANCE_ID);
@@ -57,9 +57,7 @@ public Attributes getAttributes() {
5757
return Attributes.empty();
5858
}
5959

60-
AttributesBuilder builder =
61-
AzureVmResourceProvider.azureAttributeBuilder(
62-
CloudIncubatingAttributes.CloudPlatformValues.AZURE_FUNCTIONS);
60+
AttributesBuilder builder = AzureVmResourceProvider.azureAttributeBuilder(AZURE_FUNCTIONS);
6361

6462
String limit = env.get(FUNCTIONS_MEM_LIMIT);
6563
if (limit != null) {

azure-resources/src/main/java/io/opentelemetry/contrib/azure/resource/AzureVmResourceProvider.java

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,17 @@
55

66
package io.opentelemetry.contrib.azure.resource;
77

8-
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PLATFORM;
9-
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER;
10-
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_REGION;
11-
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_RESOURCE_ID;
12-
import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_ID;
13-
import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_NAME;
14-
import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_TYPE;
15-
import static io.opentelemetry.semconv.incubating.OsIncubatingAttributes.OS_TYPE;
16-
import static io.opentelemetry.semconv.incubating.OsIncubatingAttributes.OS_VERSION;
8+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.CLOUD_PLATFORM;
9+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.CLOUD_PROVIDER;
10+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.CLOUD_REGION;
11+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.CLOUD_RESOURCE_ID;
12+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.CloudPlatformIncubatingValues.AZURE_VM;
13+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.CloudProviderIncubatingValues.AZURE;
14+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.HOST_ID;
15+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.HOST_NAME;
16+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.HOST_TYPE;
17+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.OS_TYPE;
18+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.OS_VERSION;
1719

1820
import com.fasterxml.jackson.core.JsonParser;
1921
import com.fasterxml.jackson.core.JsonToken;
@@ -22,7 +24,6 @@
2224
import io.opentelemetry.api.common.AttributesBuilder;
2325
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
2426
import io.opentelemetry.sdk.resources.Resource;
25-
import io.opentelemetry.semconv.incubating.CloudIncubatingAttributes;
2627
import java.io.IOException;
2728
import java.util.HashMap;
2829
import java.util.Map;
@@ -90,10 +91,7 @@ public int order() {
9091
public Resource createResource(ConfigProperties config) {
9192
return client
9293
.get()
93-
.map(
94-
body ->
95-
parseMetadata(
96-
body, COMPUTE_MAPPING, CloudIncubatingAttributes.CloudPlatformValues.AZURE_VM))
94+
.map(body -> parseMetadata(body, COMPUTE_MAPPING, AZURE_VM))
9795
.orElse(Resource.empty());
9896
}
9997

@@ -111,7 +109,7 @@ static Resource parseMetadata(String body, Map<String, Entry> computeMapping, St
111109
@NotNull
112110
static AttributesBuilder azureAttributeBuilder(String platform) {
113111
AttributesBuilder builder = Attributes.builder();
114-
builder.put(CLOUD_PROVIDER, CloudIncubatingAttributes.CloudProviderValues.AZURE);
112+
builder.put(CLOUD_PROVIDER, AZURE);
115113
builder.put(CLOUD_PLATFORM, platform);
116114
return builder;
117115
}

azure-resources/src/main/java/io/opentelemetry/contrib/azure/resource/CloudResourceProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
package io.opentelemetry.contrib.azure.resource;
77

8-
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER;
8+
import static io.opentelemetry.contrib.azure.resource.IncubatingAttributes.CLOUD_PROVIDER;
99

1010
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1111
import io.opentelemetry.sdk.autoconfigure.spi.internal.ConditionalResourceProvider;
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.contrib.azure.resource;
7+
8+
import io.opentelemetry.api.common.AttributeKey;
9+
10+
// copied from opentelemetry-semconv-incubating
11+
final class IncubatingAttributes {
12+
13+
// service attributes
14+
public static final AttributeKey<String> SERVICE_INSTANCE_ID =
15+
AttributeKey.stringKey("service.instance.id");
16+
17+
// cloud attributes
18+
public static final AttributeKey<String> CLOUD_PLATFORM =
19+
AttributeKey.stringKey("cloud.platform");
20+
public static final AttributeKey<String> CLOUD_PROVIDER =
21+
AttributeKey.stringKey("cloud.provider");
22+
public static final AttributeKey<String> CLOUD_REGION = AttributeKey.stringKey("cloud.region");
23+
public static final AttributeKey<String> CLOUD_RESOURCE_ID =
24+
AttributeKey.stringKey("cloud.resource_id");
25+
26+
public static final class CloudPlatformIncubatingValues {
27+
public static final String AZURE_VM = "azure_vm";
28+
public static final String AZURE_AKS = "azure_aks";
29+
public static final String AZURE_FUNCTIONS = "azure_functions";
30+
public static final String AZURE_APP_SERVICE = "azure_app_service";
31+
32+
private CloudPlatformIncubatingValues() {}
33+
}
34+
35+
public static final class CloudProviderIncubatingValues {
36+
public static final String AZURE = "azure";
37+
38+
private CloudProviderIncubatingValues() {}
39+
}
40+
41+
// deployment attributes
42+
public static final AttributeKey<String> DEPLOYMENT_ENVIRONMENT_NAME =
43+
AttributeKey.stringKey("deployment.environment.name");
44+
45+
// host attributes
46+
public static final AttributeKey<String> HOST_ID = AttributeKey.stringKey("host.id");
47+
public static final AttributeKey<String> HOST_NAME = AttributeKey.stringKey("host.name");
48+
public static final AttributeKey<String> HOST_TYPE = AttributeKey.stringKey("host.type");
49+
50+
// faas attributes
51+
public static final AttributeKey<String> FAAS_INSTANCE = AttributeKey.stringKey("faas.instance");
52+
public static final AttributeKey<Long> FAAS_MAX_MEMORY = AttributeKey.longKey("faas.max_memory");
53+
public static final AttributeKey<String> FAAS_NAME = AttributeKey.stringKey("faas.name");
54+
public static final AttributeKey<String> FAAS_VERSION = AttributeKey.stringKey("faas.version");
55+
56+
// host attributes
57+
static final AttributeKey<String> K8S_CLUSTER_NAME = AttributeKey.stringKey("k8s.cluster.name");
58+
59+
// OS attributes
60+
public static final AttributeKey<String> OS_TYPE = AttributeKey.stringKey("os.type");
61+
public static final AttributeKey<String> OS_VERSION = AttributeKey.stringKey("os.version");
62+
63+
private IncubatingAttributes() {}
64+
}

azure-resources/src/test/java/io/opentelemetry/contrib/azure/resource/AzureAksResourceProviderTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,15 @@ protected ResourceProvider getResourceProvider(Supplier<Optional<String>> client
3333

3434
@Override
3535
protected String getPlatform() {
36-
return CloudIncubatingAttributes.CloudPlatformValues.AZURE_AKS;
36+
return CloudIncubatingAttributes.CloudPlatformIncubatingValues.AZURE_AKS;
3737
}
3838

3939
@Override
4040
protected void assertDefaultAttributes(AttributesAssert attributesAssert) {
4141
attributesAssert
4242
.containsEntry(CLOUD_PROVIDER, "azure")
43-
.containsEntry(CLOUD_PLATFORM, CloudIncubatingAttributes.CloudPlatformValues.AZURE_AKS)
43+
.containsEntry(
44+
CLOUD_PLATFORM, CloudIncubatingAttributes.CloudPlatformIncubatingValues.AZURE_AKS)
4445
.containsEntry(K8sIncubatingAttributes.K8S_CLUSTER_NAME, "macikgo-test-may-23");
4546
}
4647

azure-resources/src/test/java/io/opentelemetry/contrib/azure/resource/AzureAppServiceResourceProviderTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_PROVIDER;
1111
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_REGION;
1212
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_RESOURCE_ID;
13-
import static io.opentelemetry.semconv.incubating.DeploymentIncubatingAttributes.DEPLOYMENT_ENVIRONMENT;
13+
import static io.opentelemetry.semconv.incubating.DeploymentIncubatingAttributes.DEPLOYMENT_ENVIRONMENT_NAME;
1414
import static io.opentelemetry.semconv.incubating.HostIncubatingAttributes.HOST_ID;
1515
import static io.opentelemetry.semconv.incubating.ServiceIncubatingAttributes.SERVICE_INSTANCE_ID;
1616

@@ -53,7 +53,7 @@ void defaultValues() {
5353
CLOUD_RESOURCE_ID,
5454
"/subscriptions/TEST_WEBSITE_OWNER_NAME/resourceGroups/TEST_WEBSITE_RESOURCE_GROUP/providers/Microsoft.Web/sites/TEST_WEBSITE_SITE_NAME")
5555
.containsEntry(CLOUD_REGION, TEST_REGION_NAME)
56-
.containsEntry(DEPLOYMENT_ENVIRONMENT, TEST_WEBSITE_SLOT_NAME)
56+
.containsEntry(DEPLOYMENT_ENVIRONMENT_NAME, TEST_WEBSITE_SLOT_NAME)
5757
.containsEntry(HOST_ID, TEST_WEBSITE_HOSTNAME)
5858
.containsEntry(SERVICE_INSTANCE_ID, TEST_WEBSITE_INSTANCE_ID)
5959
.containsEntry(

0 commit comments

Comments
 (0)