Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

## Unreleased

## Version 1.39.0 (2026-01-28)

* Bump to semconv v1.39.0

## Version 1.38.0 (2026-01-27)

* Bump to semconv v1.38.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.38.0"
var semanticConventionsVersion = "1.39.0"
val schemaUrlVersions = listOf(
semanticConventionsVersion,
"1.38.0",
"1.37.0",
"1.36.0",
"1.35.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,9 @@ public final class CloudIncubatingAttributes {

/** Values for {@link #CLOUD_PLATFORM}. */
public static final class CloudPlatformIncubatingValues {
/** Akamai Cloud Compute */
public static final String AKAMAI_CLOUD_COMPUTE = "akamai_cloud.compute";

/** Alibaba Cloud Elastic Compute Service */
public static final String ALIBABA_CLOUD_ECS = "alibaba_cloud_ecs";

Expand Down Expand Up @@ -146,6 +149,9 @@ public static final class CloudPlatformIncubatingValues {
/** Azure Red Hat OpenShift */
public static final String AZURE_OPENSHIFT = "azure.openshift";

/** Google Vertex AI Agent Engine */
public static final String GCP_AGENT_ENGINE = "gcp.agent_engine";

/** Google Bare Metal Solution (BMS) */
public static final String GCP_BARE_METAL_SOLUTION = "gcp_bare_metal_solution";

Expand All @@ -167,6 +173,9 @@ public static final class CloudPlatformIncubatingValues {
/** Red Hat OpenShift on Google Cloud */
public static final String GCP_OPENSHIFT = "gcp_openshift";

/** Server on Hetzner Cloud */
public static final String HETZNER_CLOUD_SERVER = "hetzner.cloud_server";

/** Red Hat OpenShift on IBM Cloud */
public static final String IBM_CLOUD_OPENSHIFT = "ibm_cloud_openshift";

Expand All @@ -185,11 +194,17 @@ public static final class CloudPlatformIncubatingValues {
/** Tencent Cloud Serverless Cloud Function (SCF) */
public static final String TENCENT_CLOUD_SCF = "tencent_cloud_scf";

/** Vultr Cloud Compute */
public static final String VULTR_CLOUD_COMPUTE = "vultr.cloud_compute";

private CloudPlatformIncubatingValues() {}
}

/** Values for {@link #CLOUD_PROVIDER}. */
public static final class CloudProviderIncubatingValues {
/** Akamai Cloud */
public static final String AKAMAI_CLOUD = "akamai_cloud";

/** Alibaba Cloud */
public static final String ALIBABA_CLOUD = "alibaba_cloud";

Expand All @@ -205,6 +220,9 @@ public static final class CloudProviderIncubatingValues {
/** Heroku Platform as a Service */
public static final String HEROKU = "heroku";

/** Hetzner */
public static final String HETZNER = "hetzner";

/** IBM Cloud */
public static final String IBM_CLOUD = "ibm_cloud";

Expand All @@ -214,6 +232,9 @@ public static final class CloudProviderIncubatingValues {
/** Tencent Cloud */
public static final String TENCENT_CLOUD = "tencent_cloud";

/** Vultr */
public static final String VULTR = "vultr";

private CloudProviderIncubatingValues() {}
}

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/reference/api/engine/version/v1.43/#tag/Container/operation/ContainerInspect">API</a>
* href="https://docs.docker.com/reference/api/engine/version/v1.52/#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/reference/api/engine/version/v1.43/#tag/Image/operation/ImageInspect">Docker</a>
* href="https://docs.docker.com/reference/api/engine/version/v1.52/#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,7 +111,7 @@ public final class ContainerIncubatingAttributes {

/**
* Container image tags. An example can be found in <a
* href="https://docs.docker.com/reference/api/engine/version/v1.43/#tag/Image/operation/ImageInspect">Docker
* href="https://docs.docker.com/reference/api/engine/version/v1.52/#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>}.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -422,7 +422,7 @@ public final class DbIncubatingAttributes {
* <p>Summary may be available to the instrumentation through instrumentation hooks or other
* means. If it is not available, instrumentations that support query parsing SHOULD generate a
* summary following <a
* href="/docs/database/database-spans.md#generating-a-summary-of-the-query">Generating query
* href="/docs/db/database-spans.md#generating-a-summary-of-the-query">Generating query
* summary</a> section.
*
* @deprecated deprecated in favor of stable {@link
Expand All @@ -437,7 +437,7 @@ public final class DbIncubatingAttributes {
* <p>Notes:
*
* <p>For sanitization see <a
* href="/docs/database/database-spans.md#sanitization-of-dbquerytext">Sanitization of {@code
* href="/docs/db/database-spans.md#sanitization-of-dbquerytext">Sanitization of {@code
* db.query.text}</a>. For batch operations, if the individual operations are known to have the
* same query text then that query text SHOULD be used, otherwise all of the individual query
* texts SHOULD be concatenated with separator {@code ; } or some other database system specific
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public final class ErrorIncubatingAttributes {
* <p>If the operation has completed successfully, instrumentations SHOULD NOT set {@code
* error.type}.
*
* <p>If a specific domain defines its own set of error identifiers (such as HTTP or gRPC status
* <p>If a specific domain defines its own set of error identifiers (such as HTTP or RPC status
* codes), it's RECOMMENDED to:
*
* <ul>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,9 @@ public final class GenAiIncubatingAttributes {
*/
@Deprecated public static final AttributeKey<String> GEN_AI_PROMPT = stringKey("gen_ai.prompt");

/** The name of the prompt that uniquely identifies it. */
public static final AttributeKey<String> GEN_AI_PROMPT_NAME = stringKey("gen_ai.prompt.name");

/**
* The Generative AI provider as identified by the client or server instrumentation.
*
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/

package io.opentelemetry.semconv.incubating;

import static io.opentelemetry.api.common.AttributeKey.stringKey;

import io.opentelemetry.api.common.AttributeKey;

// DO NOT EDIT, this is an Auto-generated file from
// buildscripts/templates/registry/incubating_java/IncubatingSemanticAttributes.java.j2
@SuppressWarnings("unused")
public final class JsonrpcIncubatingAttributes {
/**
* Protocol version, as specified in the {@code jsonrpc} property of the request and its
* corresponding response.
*/
public static final AttributeKey<String> JSONRPC_PROTOCOL_VERSION =
stringKey("jsonrpc.protocol.version");

/**
* A string representation of the {@code id} property of the request and its corresponding
* response.
*
* <p>Notes:
*
* <p>Under the <a href="https://www.jsonrpc.org/specification">JSON-RPC specification</a>, the
* {@code id} property may be a string, number, null, or omitted entirely. When omitted, the
* request is treated as a notification. Using {@code null} is not equivalent to omitting the
* {@code id}, but it is discouraged. Instrumentations SHOULD NOT capture this attribute when the
* {@code id} is {@code null} or omitted.
*/
public static final AttributeKey<String> JSONRPC_REQUEST_ID = stringKey("jsonrpc.request.id");

// Enum definitions

private JsonrpcIncubatingAttributes() {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,33 @@ public final class K8sIncubatingAttributes {
public static final AttributeKeyTemplate<String> K8S_POD_ANNOTATION =
stringKeyTemplate("k8s.pod.annotation");

/**
* Specifies the hostname of the Pod.
*
* <p>Notes:
*
* <p>The K8s Pod spec has an optional hostname field, which can be used to specify a hostname.
* Refer to <a
* href="https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-hostname-and-subdomain-field">K8s
* docs</a> for more information about this field.
*
* <p>This attribute aligns with the {@code hostname} field of the <a
* href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podspec-v1-core">K8s
* PodSpec</a>.
*/
public static final AttributeKey<String> K8S_POD_HOSTNAME = stringKey("k8s.pod.hostname");

/**
* IP address allocated to the Pod.
*
* <p>Notes:
*
* <p>This attribute aligns with the {@code podIP} field of the <a
* href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podstatus-v1-core">K8s
* PodStatus</a>.
*/
public static final AttributeKey<String> K8S_POD_IP = stringKey("k8s.pod.ip");

/**
* The label placed on the Pod, the {@code <key>} being the label name, the value being the label
* value.
Expand Down Expand Up @@ -477,6 +504,20 @@ public final class K8sIncubatingAttributes {
/** The name of the Pod. */
public static final AttributeKey<String> K8S_POD_NAME = stringKey("k8s.pod.name");

/**
* The start timestamp of the Pod.
*
* <p>Notes:
*
* <p>Date and time at which the object was acknowledged by the Kubelet. This is before the
* Kubelet pulled the container image(s) for the pod.
*
* <p>This attribute aligns with the {@code startTime} field of the <a
* href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#podstatus-v1-core">K8s
* PodStatus</a>, in ISO 8601 (RFC 3339 compatible) format.
*/
public static final AttributeKey<String> K8S_POD_START_TIME = stringKey("k8s.pod.start_time");

/**
* The phase for the pod. Corresponds to the {@code phase} field of the: <a
* href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#podstatus-v1-core">K8s
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,23 @@
// buildscripts/templates/registry/incubating_java/IncubatingSemanticAttributes.java.j2
@SuppressWarnings("unused")
public final class LinuxIncubatingAttributes {
/** The Linux Slab memory state */
/**
* The Linux Slab memory state
*
* @deprecated Replaced by {@code system.memory.linux.slab.state}.
*/
@Deprecated
public static final AttributeKey<String> LINUX_MEMORY_SLAB_STATE =
stringKey("linux.memory.slab.state");

// Enum definitions

/** Values for {@link #LINUX_MEMORY_SLAB_STATE}. */
/**
* Values for {@link #LINUX_MEMORY_SLAB_STATE}
*
* @deprecated Replaced by {@code system.memory.linux.slab.state}.
*/
@Deprecated
public static final class LinuxMemorySlabStateIncubatingValues {
/** reclaimable. */
public static final String RECLAIMABLE = "reclaimable";
Expand Down
Loading
Loading