Skip to content

Commit 719aba8

Browse files
committed
Handle unstable enum values
1 parent 9bca9b6 commit 719aba8

File tree

54 files changed

+109
-26
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+109
-26
lines changed

buildscripts/templates/registry/incubating_java/IncubatingSemanticAttributes.java.j2

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,19 @@ public final class {{ my_class_name }} {
4949
{% endif %}
5050
{% endfor %}
5151
// Enum definitions
52-
{% for attribute in ctx.attributes | select("enum") | rejectattr("name", "in", ctx.excluded_attributes) %}
53-
{%- if attribute is stable -%}
52+
{% for attribute in ctx.attributes | select("enum") | rejectattr("name", "in", ctx.excluded_attributes) %}
53+
{% set enum_deprecated_in_favor_of_stable = namespace(value=false) %}
54+
{% if attribute is stable %}
55+
{%- set enum_deprecated_in_favor_of_stable.value = true -%}
56+
{%- endif -%}
57+
{%- for member in attribute.type.members %}
58+
{% if member is experimental %}
59+
{% if not member is deprecated %}
60+
{%- set enum_deprecated_in_favor_of_stable.value = false -%}
61+
{%- endif -%}
62+
{%- endif -%}
63+
{%- endfor %}
64+
{%- if enum_deprecated_in_favor_of_stable.value -%}
5465
{%- set stable_class_link = "io.opentelemetry.semconv." ~ stable_class_name ~ "." ~ (attribute.name | pascal_case) ~ "Values" -%}
5566
/**
5667
* Values for {@link #{{ attribute.name | screaming_snake_case }}}.
@@ -62,11 +73,16 @@ public final class {{ my_class_name }} {
6273
{%- else -%}
6374
/** Values for {@link #{{ attribute.name | screaming_snake_case }}}. */
6475
{%- endif -%}
65-
{% if attribute is stable or attribute is deprecated %}@Deprecated{% endif %}
76+
{% if enum_deprecated_in_favor_of_stable.value or attribute is deprecated %}@Deprecated{% endif %}
6677
public static final class {{ attribute.name | pascal_case }}IncubatingValues {
6778
{%- for member in attribute.type.members %}
68-
{{ [member.brief or (member.id ~ '.')] | comment(indent=4) }}
69-
public static final {{ attribute.type | instantiated_type | map_text("java_enum_type") }} {{ member.id | screaming_snake_case }} = {{ member.value | print_member_value }};
79+
{% if member is experimental or enum_deprecated_in_favor_of_stable.value %}{{ [member.brief or (member.id ~ '.')] | comment(indent=4) }}
80+
{% if member is deprecated %}@Deprecated{% endif %} public static final {{ attribute.type | instantiated_type | map_text("java_enum_type") }} {{ member.id | screaming_snake_case }} = {{ member.value | print_member_value }};
81+
{% elif member is stable %}
82+
{%- set stable_class_link = "io.opentelemetry.semconv." ~ stable_class_name ~ "." ~ (attribute.name | pascal_case) ~ "Values#" ~ (member.id | screaming_snake_case) -%}
83+
{{ [member.brief or (member.id ~ '.'), "@deprecated deprecated in favor of stable {@link " ~ stable_class_link ~ "} value."] | comment(indent=4) }}
84+
@Deprecated public static final {{ attribute.type | instantiated_type | map_text("java_enum_type") }} {{ member.id | screaming_snake_case }} = {{ member.value | print_member_value }};
85+
{%- endif -%}
7086
{%- endfor %}
7187
private {{ attribute.name | pascal_case }}IncubatingValues() {}
7288
}

buildscripts/templates/registry/java/SemanticAttributes.java.j2

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,10 @@ public final class {{ my_class_name }} {
4848
/** Values for {@link #{{ attribute.name | screaming_snake_case }}}. */
4949
public static final class {{ attribute.name | pascal_case }}Values {
5050
{%- for member in attribute.type.members %}
51+
{% if member is stable %}
5152
{{ [member.brief or (member.id ~ '.')] | comment(indent=4) }}
5253
public static final {{ attribute.type | instantiated_type | map_text("java_enum_type") }} {{ member.id | screaming_snake_case }} = {{ member.value | print_member_value }};
54+
{%- endif -%}
5355
{%- endfor %}
5456
private {{ attribute.name | pascal_case }}Values() {}
5557
}

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/AndroidIncubatingAttributes.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public final class AndroidIncubatingAttributes {
4545
@Deprecated public static final AttributeKey<String> ANDROID_STATE = stringKey("android.state");
4646

4747
// Enum definitions
48+
4849
/** Values for {@link #ANDROID_APP_STATE}. */
4950
public static final class AndroidAppStateIncubatingValues {
5051
/**

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/AwsIncubatingAttributes.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,7 @@ public final class AwsIncubatingAttributes {
342342
public static final AttributeKey<String> AWS_S3_UPLOAD_ID = stringKey("aws.s3.upload_id");
343343

344344
// Enum definitions
345+
345346
/** Values for {@link #AWS_ECS_LAUNCHTYPE}. */
346347
public static final class AwsEcsLaunchtypeIncubatingValues {
347348
/** ec2. */

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/AzureIncubatingAttributes.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ public final class AzureIncubatingAttributes {
5858
longKey("azure.cosmosdb.response.sub_status_code");
5959

6060
// Enum definitions
61+
6162
/** Values for {@link #AZURE_COSMOSDB_CONNECTION_MODE}. */
6263
public static final class AzureCosmosdbConnectionModeIncubatingValues {
6364
/** Gateway (HTTP) connection. */

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/CassandraIncubatingAttributes.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public final class CassandraIncubatingAttributes {
4545
longKey("cassandra.speculative_execution.count");
4646

4747
// Enum definitions
48+
4849
/** Values for {@link #CASSANDRA_CONSISTENCY_LEVEL}. */
4950
public static final class CassandraConsistencyLevelIncubatingValues {
5051
/** all. */

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/CicdIncubatingAttributes.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ public final class CicdIncubatingAttributes {
6464
public static final AttributeKey<String> CICD_WORKER_STATE = stringKey("cicd.worker.state");
6565

6666
// Enum definitions
67+
6768
/** Values for {@link #CICD_PIPELINE_RESULT}. */
6869
public static final class CicdPipelineResultIncubatingValues {
6970
/** The pipeline run finished successfully. */

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/CloudIncubatingAttributes.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ public final class CloudIncubatingAttributes {
8989
public static final AttributeKey<String> CLOUD_RESOURCE_ID = stringKey("cloud.resource_id");
9090

9191
// Enum definitions
92+
9293
/** Values for {@link #CLOUD_PLATFORM}. */
9394
public static final class CloudPlatformIncubatingValues {
9495
/** Alibaba Cloud Elastic Compute Service */

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/ContainerIncubatingAttributes.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ public final class ContainerIncubatingAttributes {
138138
public static final AttributeKey<String> CONTAINER_RUNTIME = stringKey("container.runtime");
139139

140140
// Enum definitions
141+
141142
/**
142143
* Values for {@link #CONTAINER_CPU_STATE}
143144
*

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/CpuIncubatingAttributes.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public final class CpuIncubatingAttributes {
2121
public static final AttributeKey<String> CPU_MODE = stringKey("cpu.mode");
2222

2323
// Enum definitions
24+
2425
/** Values for {@link #CPU_MODE}. */
2526
public static final class CpuModeIncubatingValues {
2627
/** user. */

0 commit comments

Comments
 (0)