Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

## Unreleased

* Bump to semconv v1.38.0

## Version 1.37.0 (2025-08-27)

* Bump to semconv v1.37.0
Expand Down
3 changes: 2 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@ val snapshot = true
// end

// The release version of https://github.com/open-telemetry/semantic-conventions used to generate classes
var semanticConventionsVersion = "1.37.0"
var semanticConventionsVersion = "1.38.0"
val schemaUrlVersions = listOf(
semanticConventionsVersion,
"1.37.0",
"1.36.0",
"1.35.0",
"1.34.0",
Expand Down
6 changes: 4 additions & 2 deletions docs/apidiffs/current_vs_latest/opentelemetry-semconv.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
Comparing source compatibility of opentelemetry-semconv-1.37.0-SNAPSHOT.jar against opentelemetry-semconv-1.37.0.jar
No changes.
Comparing source compatibility of opentelemetry-semconv-1.38.0-SNAPSHOT.jar against opentelemetry-semconv-1.37.0.jar
*** MODIFIED CLASS: PUBLIC FINAL io.opentelemetry.semconv.SchemaUrls (not serializable)
=== CLASS FILE FORMAT VERSION: 52.0 <- 52.0
+++ NEW FIELD: PUBLIC(+) STATIC(+) FINAL(+) java.lang.String V1_38_0
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,29 @@ public final class AppIncubatingAttributes {
public static final AttributeKey<Long> APP_SCREEN_COORDINATE_Y =
longKey("app.screen.coordinate.y");

/**
* An identifier that uniquely differentiates this screen from other screens in the same
* application.
*
* <p>Notes:
*
* <p>A screen represents only the part of the device display drawn by the app. It typically
* contains multiple widgets or UI components and is larger in scope than individual widgets.
* Multiple screens can coexist on the same display simultaneously (e.g., split view on tablets).
*/
public static final AttributeKey<String> APP_SCREEN_ID = stringKey("app.screen.id");

/**
* The name of an application screen.
*
* <p>Notes:
*
* <p>A screen represents only the part of the device display drawn by the app. It typically
* contains multiple widgets or UI components and is larger in scope than individual widgets.
* Multiple screens can coexist on the same display simultaneously (e.g., split view on tablets).
*/
public static final AttributeKey<String> APP_SCREEN_NAME = stringKey("app.screen.name");

/**
* An identifier that uniquely differentiates this widget from other widgets in the same
* application.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public final class AzureIncubatingAttributes {
* <p>Notes:
*
* <p>Region name matches the format of {@code displayName} in <a
* href="https://learn.microsoft.com/rest/api/subscription/subscriptions/list-locations?view=rest-subscription-2021-10-01&tabs=HTTP#location">Azure
* href="https://learn.microsoft.com/rest/api/resources/subscriptions/list-locations">Azure
* Location API</a>
*/
public static final AttributeKey<List<String>> AZURE_COSMOSDB_OPERATION_CONTACTED_REGIONS =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ public final class ContainerIncubatingAttributes {
*
* <p>Docker defines a sha256 of the image id; {@code container.image.id} corresponds to the
* {@code Image} field from the Docker container inspect <a
* href="https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect">API</a>
* href="https://docs.docker.com/reference/api/engine/version/v1.43/#tag/Container/operation/ContainerInspect">API</a>
* endpoint. K8s defines a link to the container registry repository with digest {@code "imageID":
* "registry.azurecr.io
* /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"}.
Expand All @@ -101,7 +101,7 @@ public final class ContainerIncubatingAttributes {
* <p>Notes:
*
* <p><a
* href="https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect">Docker</a>
* href="https://docs.docker.com/reference/api/engine/version/v1.43/#tag/Image/operation/ImageInspect">Docker</a>
* and <a
* href="https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto#L1237-L1238">CRI</a>
* report those under the {@code RepoDigests} field.
Expand All @@ -111,9 +111,9 @@ public final class ContainerIncubatingAttributes {

/**
* Container image tags. An example can be found in <a
* href="https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect">Docker Image
* Inspect</a>. Should be only the {@code <tag>} section of the full name for example from {@code
* registry.example.com/my-org/my-image:<tag>}.
* href="https://docs.docker.com/reference/api/engine/version/v1.43/#tag/Image/operation/ImageInspect">Docker
* Image Inspect</a>. Should be only the {@code <tag>} section of the full name for example from
* {@code registry.example.com/my-org/my-image:<tag>}.
*/
public static final AttributeKey<List<String>> CONTAINER_IMAGE_TAGS =
stringArrayKey("container.image.tags");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ public final class DbIncubatingAttributes {
/**
* Deprecated, use {@code db.response.status_code} instead.
*
* @deprecated Replaced by {@code db.response.status_code}.
* @deprecated Use {@code db.response.status_code} instead.
*/
@Deprecated
public static final AttributeKey<Long> DB_COSMOSDB_STATUS_CODE =
Expand Down Expand Up @@ -393,15 +393,18 @@ public final class DbIncubatingAttributes {
* <p>{@code db.query.parameter.<key>} SHOULD match up with the parameterized placeholders present
* in {@code db.query.text}.
*
* <p>It is RECOMMENDED to capture the value as provided by the application without attempting to
* do any case normalization.
*
* <p>{@code db.query.parameter.<key>} SHOULD NOT be captured on batch operations.
*
* <p>Examples:
*
* <ul>
* <li>For a query {@code SELECT * FROM users where username = %s} with the parameter {@code
* "jdoe"}, the attribute {@code db.query.parameter.0} SHOULD be set to {@code "jdoe"}.
* <li>For a query {@code "SELECT * FROM users WHERE username = %(username)s;} with parameter
* {@code username = "jdoe"}, the attribute {@code db.query.parameter.username} SHOULD be
* <li>For a query {@code "SELECT * FROM users WHERE username = %(userName)s;} with parameter
* {@code userName = "jdoe"}, the attribute {@code db.query.parameter.userName} SHOULD be
* set to {@code "jdoe"}.
* </ul>
*/
Expand Down Expand Up @@ -452,7 +455,7 @@ public final class DbIncubatingAttributes {
/**
* Deprecated, use {@code db.namespace} instead.
*
* @deprecated Replaced by {@code db.namespace}.
* @deprecated Uncategorized.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot update the jinja template to exclude this particular reason, so the generated code is just

@deprecated

with no further explanation

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated the jinja templates to exclude "Uncategorized." from deprecation messages. The generated code now shows just @deprecated with no explanation. (915725a)

*/
@Deprecated
public static final AttributeKey<Long> DB_REDIS_DATABASE_INDEX =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,8 @@ public final class DnsIncubatingAttributes {
*
* <p>Notes:
*
* <p>If the name field contains non-printable characters (below 32 or above 126), those
* characters should be represented as escaped base 10 integers (\DDD). Back slashes and quotes
* should be escaped. Tabs, carriage returns, and line feeds should be converted to \t, \r, and \n
* respectively.
* <p>The name represents the queried domain name as it appears in the DNS query without any
* additional normalization.
*/
public static final AttributeKey<String> DNS_QUESTION_NAME = stringKey("dns.question.name");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public final class EnduserIncubatingAttributes {
/**
* Deprecated, use {@code user.roles} instead.
*
* @deprecated Replaced by {@code user.roles}.
* @deprecated Use {@code user.roles} instead.
*/
@Deprecated public static final AttributeKey<String> ENDUSER_ROLE = stringKey("enduser.role");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ public final class EventIncubatingAttributes {
/**
* Identifies the class / type of event.
*
* @deprecated Replaced by EventName top-level field on the LogRecord.
* @deprecated The value of this attribute MUST now be set as the value of the EventName field on
* the LogRecord to indicate that the LogRecord represents an Event.
*/
@Deprecated public static final AttributeKey<String> EVENT_NAME = stringKey("event.name");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ public final class FaasIncubatingAttributes {
* href="https://cloud.google.com/run/docs/managing/revisions">revision</a> (i.e., the
* function name plus the revision suffix).
* <li><strong>Google Cloud Functions:</strong> The value of the <a
* href="https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically">{@code
* href="https://cloud.google.com/run/docs/container-contract#services-env-vars">{@code
* K_REVISION} environment variable</a>.
* <li><strong>Azure Functions:</strong> Not applicable. Do not set this attribute.
* </ul>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,58 @@ public final class GcpIncubatingAttributes {
public static final AttributeKey<String> GCP_APPHUB_WORKLOAD_ID =
stringKey("gcp.apphub.workload.id");

/** The container within GCP where the AppHub destination application is defined. */
public static final AttributeKey<String> GCP_APPHUB_DESTINATION_APPLICATION_CONTAINER =
stringKey("gcp.apphub_destination.application.container");

/** The name of the destination application as configured in AppHub. */
public static final AttributeKey<String> GCP_APPHUB_DESTINATION_APPLICATION_ID =
stringKey("gcp.apphub_destination.application.id");

/** The GCP zone or region where the destination application is defined. */
public static final AttributeKey<String> GCP_APPHUB_DESTINATION_APPLICATION_LOCATION =
stringKey("gcp.apphub_destination.application.location");

/**
* Criticality of a destination workload indicates its importance to the business as specified in
* <a href="https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type">AppHub type
* enum</a>
*/
public static final AttributeKey<String> GCP_APPHUB_DESTINATION_SERVICE_CRITICALITY_TYPE =
stringKey("gcp.apphub_destination.service.criticality_type");

/**
* Software lifecycle stage of a destination service as defined <a
* href="https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type_1">AppHub
* environment type</a>
*/
public static final AttributeKey<String> GCP_APPHUB_DESTINATION_SERVICE_ENVIRONMENT_TYPE =
stringKey("gcp.apphub_destination.service.environment_type");

/** The name of the destination service as configured in AppHub. */
public static final AttributeKey<String> GCP_APPHUB_DESTINATION_SERVICE_ID =
stringKey("gcp.apphub_destination.service.id");

/**
* Criticality of a destination workload indicates its importance to the business as specified in
* <a href="https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type">AppHub type
* enum</a>
*/
public static final AttributeKey<String> GCP_APPHUB_DESTINATION_WORKLOAD_CRITICALITY_TYPE =
stringKey("gcp.apphub_destination.workload.criticality_type");

/**
* Environment of a destination workload is the stage of a software lifecycle as provided in the
* <a href="https://cloud.google.com/app-hub/docs/reference/rest/v1/Attributes#type_1">AppHub
* environment type</a>
*/
public static final AttributeKey<String> GCP_APPHUB_DESTINATION_WORKLOAD_ENVIRONMENT_TYPE =
stringKey("gcp.apphub_destination.workload.environment_type");

/** The name of the destination workload as configured in AppHub. */
public static final AttributeKey<String> GCP_APPHUB_DESTINATION_WORKLOAD_ID =
stringKey("gcp.apphub_destination.workload.id");

/**
* Identifies the Google Cloud service for which the official client library is intended.
*
Expand Down Expand Up @@ -194,5 +246,73 @@ public static final class GcpApphubWorkloadEnvironmentTypeIncubatingValues {
private GcpApphubWorkloadEnvironmentTypeIncubatingValues() {}
}

/** Values for {@link #GCP_APPHUB_DESTINATION_SERVICE_CRITICALITY_TYPE}. */
public static final class GcpApphubDestinationServiceCriticalityTypeIncubatingValues {
/** Mission critical service. */
public static final String MISSION_CRITICAL = "MISSION_CRITICAL";

/** High impact. */
public static final String HIGH = "HIGH";

/** Medium impact. */
public static final String MEDIUM = "MEDIUM";

/** Low impact. */
public static final String LOW = "LOW";

private GcpApphubDestinationServiceCriticalityTypeIncubatingValues() {}
}

/** Values for {@link #GCP_APPHUB_DESTINATION_SERVICE_ENVIRONMENT_TYPE}. */
public static final class GcpApphubDestinationServiceEnvironmentTypeIncubatingValues {
/** Production environment. */
public static final String PRODUCTION = "PRODUCTION";

/** Staging environment. */
public static final String STAGING = "STAGING";

/** Test environment. */
public static final String TEST = "TEST";

/** Development environment. */
public static final String DEVELOPMENT = "DEVELOPMENT";

private GcpApphubDestinationServiceEnvironmentTypeIncubatingValues() {}
}

/** Values for {@link #GCP_APPHUB_DESTINATION_WORKLOAD_CRITICALITY_TYPE}. */
public static final class GcpApphubDestinationWorkloadCriticalityTypeIncubatingValues {
/** Mission critical service. */
public static final String MISSION_CRITICAL = "MISSION_CRITICAL";

/** High impact. */
public static final String HIGH = "HIGH";

/** Medium impact. */
public static final String MEDIUM = "MEDIUM";

/** Low impact. */
public static final String LOW = "LOW";

private GcpApphubDestinationWorkloadCriticalityTypeIncubatingValues() {}
}

/** Values for {@link #GCP_APPHUB_DESTINATION_WORKLOAD_ENVIRONMENT_TYPE}. */
public static final class GcpApphubDestinationWorkloadEnvironmentTypeIncubatingValues {
/** Production environment. */
public static final String PRODUCTION = "PRODUCTION";

/** Staging environment. */
public static final String STAGING = "STAGING";

/** Test environment. */
public static final String TEST = "TEST";

/** Development environment. */
public static final String DEVELOPMENT = "DEVELOPMENT";

private GcpApphubDestinationWorkloadEnvironmentTypeIncubatingValues() {}
}

private GcpIncubatingAttributes() {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,36 @@ public final class GenAiIncubatingAttributes {
public static final AttributeKey<String> GEN_AI_DATA_SOURCE_ID =
stringKey("gen_ai.data_source.id");

/** The number of dimensions the resulting output embeddings should have. */
public static final AttributeKey<Long> GEN_AI_EMBEDDINGS_DIMENSION_COUNT =
longKey("gen_ai.embeddings.dimension.count");

/** A free-form explanation for the assigned score provided by the evaluator. */
public static final AttributeKey<String> GEN_AI_EVALUATION_EXPLANATION =
stringKey("gen_ai.evaluation.explanation");

/** The name of the evaluation metric used for the GenAI response. */
public static final AttributeKey<String> GEN_AI_EVALUATION_NAME =
stringKey("gen_ai.evaluation.name");

/**
* Human readable label for evaluation.
*
* <p>Notes:
*
* <p>This attribute provides a human-readable interpretation of the evaluation score produced by
* an evaluator. For example, a score value of 1 could mean "relevant" in one evaluation system
* and "not relevant" in another, depending on the scoring range and evaluator. The label SHOULD
* have low cardinality. Possible values depend on the evaluation metric and evaluator used;
* implementations SHOULD document the possible values.
*/
public static final AttributeKey<String> GEN_AI_EVALUATION_SCORE_LABEL =
stringKey("gen_ai.evaluation.score.label");

/** The evaluation score returned by the evaluator. */
public static final AttributeKey<Double> GEN_AI_EVALUATION_SCORE_VALUE =
doubleKey("gen_ai.evaluation.score.value");

/**
* Deprecated, use {@code gen_ai.output.type}.
*
Expand Down Expand Up @@ -468,11 +498,19 @@ public static final class GenAiSystemIncubatingValues {
/** Cohere */
public static final String COHERE = "cohere";

/** Azure AI Inference */
public static final String AZ_AI_INFERENCE = "az.ai.inference";
/**
* Azure AI Inference
*
* @deprecated Replaced by {@code azure.ai.inference}.
*/
@Deprecated public static final String AZ_AI_INFERENCE = "az.ai.inference";

/** Azure OpenAI */
public static final String AZ_AI_OPENAI = "az.ai.openai";
/**
* Azure OpenAI
*
* @deprecated Replaced by {@code azure.ai.openai}.
*/
@Deprecated public static final String AZ_AI_OPENAI = "az.ai.openai";

/** Azure AI Inference */
public static final String AZURE_AI_INFERENCE = "azure.ai.inference";
Expand All @@ -489,12 +527,8 @@ public static final class GenAiSystemIncubatingValues {
/** Perplexity */
public static final String PERPLEXITY = "perplexity";

/**
* xAI
*
* @deprecated Replaced by {@code x_ai}.
*/
@Deprecated public static final String XAI = "xai";
/** xAI */
public static final String XAI = "xai";
Comment on lines -492 to +531
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note to reviewers: this whole enum is deprecated


/** DeepSeek */
public static final String DEEPSEEK = "deepseek";
Expand Down
Loading
Loading