} being the annotation name, the value
+ * being the annotation value, even if the value is empty.
*
* Notes:
*
- *
The {@code } being the annotation name, the value being the annotation value, even if
- * the value is empty.
+ * Examples:
+ *
+ *
+ * - A label {@code replicas} with value {@code 1} SHOULD be recorded as the {@code
+ * k8s.daemonset.annotation.replicas} attribute with value {@code "1"}.
+ *
- A label {@code data} with empty string value SHOULD be recorded as the {@code
+ * k8s.daemonset.annotation.data} attribute with value {@code ""}.
+ *
*/
public static final AttributeKeyTemplate K8S_DAEMONSET_ANNOTATION =
stringKeyTemplate("k8s.daemonset.annotation");
/**
- * The label key-value pairs placed on the DaemonSet.
+ * The label placed on the DaemonSet, the {@code } being the label name, the value being the
+ * label value, even if the value is empty.
*
* Notes:
*
- *
The {@code } being the label name, the value being the label value, even if the value
- * is empty.
+ * Examples:
+ *
+ *
+ * - A label {@code app} with value {@code guestbook} SHOULD be recorded as the {@code
+ * k8s.daemonset.label.app} attribute with value {@code "guestbook"}.
+ *
- A label {@code data} with empty string value SHOULD be recorded as the {@code
+ * k8s.daemonset.label.injected} attribute with value {@code ""}.
+ *
*/
public static final AttributeKeyTemplate K8S_DAEMONSET_LABEL =
stringKeyTemplate("k8s.daemonset.label");
@@ -136,23 +168,37 @@ public final class K8sIncubatingAttributes {
public static final AttributeKey K8S_DAEMONSET_UID = stringKey("k8s.daemonset.uid");
/**
- * The annotation key-value pairs placed on the Deployment.
+ * The annotation placed on the Deployment, the {@code } being the annotation name, the value
+ * being the annotation value, even if the value is empty.
*
* Notes:
*
- *
The {@code } being the annotation name, the value being the annotation value, even if
- * the value is empty.
+ * Examples:
+ *
+ *
+ * - A label {@code replicas} with value {@code 1} SHOULD be recorded as the {@code
+ * k8s.deployment.annotation.replicas} attribute with value {@code "1"}.
+ *
- A label {@code data} with empty string value SHOULD be recorded as the {@code
+ * k8s.deployment.annotation.data} attribute with value {@code ""}.
+ *
*/
public static final AttributeKeyTemplate K8S_DEPLOYMENT_ANNOTATION =
stringKeyTemplate("k8s.deployment.annotation");
/**
- * The label key-value pairs placed on the Deployment.
+ * The label placed on the Deployment, the {@code } being the label name, the value being the
+ * label value, even if the value is empty.
*
* Notes:
*
- *
The {@code } being the label name, the value being the label value, even if the value
- * is empty.
+ * Examples:
+ *
+ *
+ * - A label {@code replicas} with value {@code 0} SHOULD be recorded as the {@code
+ * k8s.deployment.label.app} attribute with value {@code "guestbook"}.
+ *
- A label {@code injected} with empty string value SHOULD be recorded as the {@code
+ * k8s.deployment.label.injected} attribute with value {@code ""}.
+ *
*/
public static final AttributeKeyTemplate K8S_DEPLOYMENT_LABEL =
stringKeyTemplate("k8s.deployment.label");
@@ -163,30 +209,86 @@ public final class K8sIncubatingAttributes {
/** The UID of the Deployment. */
public static final AttributeKey K8S_DEPLOYMENT_UID = stringKey("k8s.deployment.uid");
+ /**
+ * The type of metric source for the horizontal pod autoscaler.
+ *
+ * Notes:
+ *
+ *
This attribute reflects the {@code type} field of spec.metrics[] in the HPA.
+ */
+ public static final AttributeKey K8S_HPA_METRIC_TYPE = stringKey("k8s.hpa.metric.type");
+
/** The name of the horizontal pod autoscaler. */
public static final AttributeKey K8S_HPA_NAME = stringKey("k8s.hpa.name");
+ /**
+ * The API version of the target resource to scale for the HorizontalPodAutoscaler.
+ *
+ * Notes:
+ *
+ *
This maps to the {@code apiVersion} field in the {@code scaleTargetRef} of the HPA spec.
+ */
+ public static final AttributeKey K8S_HPA_SCALETARGETREF_API_VERSION =
+ stringKey("k8s.hpa.scaletargetref.api_version");
+
+ /**
+ * The kind of the target resource to scale for the HorizontalPodAutoscaler.
+ *
+ * Notes:
+ *
+ *
This maps to the {@code kind} field in the {@code scaleTargetRef} of the HPA spec.
+ */
+ public static final AttributeKey K8S_HPA_SCALETARGETREF_KIND =
+ stringKey("k8s.hpa.scaletargetref.kind");
+
+ /**
+ * The name of the target resource to scale for the HorizontalPodAutoscaler.
+ *
+ * Notes:
+ *
+ *
This maps to the {@code name} field in the {@code scaleTargetRef} of the HPA spec.
+ */
+ public static final AttributeKey K8S_HPA_SCALETARGETREF_NAME =
+ stringKey("k8s.hpa.scaletargetref.name");
+
/** The UID of the horizontal pod autoscaler. */
public static final AttributeKey K8S_HPA_UID = stringKey("k8s.hpa.uid");
+ /** The size (identifier) of the K8s huge page. */
+ public static final AttributeKey K8S_HUGEPAGE_SIZE = stringKey("k8s.hugepage.size");
+
/**
- * The annotation key-value pairs placed on the Job.
+ * The annotation placed on the Job, the {@code } being the annotation name, the value being
+ * the annotation value, even if the value is empty.
*
* Notes:
*
- *
The {@code } being the annotation name, the value being the annotation value, even if
- * the value is empty.
+ * Examples:
+ *
+ *
+ * - A label {@code number} with value {@code 1} SHOULD be recorded as the {@code
+ * k8s.job.annotation.number} attribute with value {@code "1"}.
+ *
- A label {@code data} with empty string value SHOULD be recorded as the {@code
+ * k8s.job.annotation.data} attribute with value {@code ""}.
+ *
*/
public static final AttributeKeyTemplate K8S_JOB_ANNOTATION =
stringKeyTemplate("k8s.job.annotation");
/**
- * The label key-value pairs placed on the Job.
+ * The label placed on the Job, the {@code } being the label name, the value being the label
+ * value, even if the value is empty.
*
* Notes:
*
- *
The {@code } being the label name, the value being the label value, even if the value
- * is empty.
+ * Examples:
+ *
+ *
+ * - A label {@code jobtype} with value {@code ci} SHOULD be recorded as the {@code
+ * k8s.job.label.jobtype} attribute with value {@code "ci"}.
+ *
- A label {@code data} with empty string value SHOULD be recorded as the {@code
+ * k8s.job.label.automated} attribute with value {@code ""}.
+ *
*/
public static final AttributeKeyTemplate K8S_JOB_LABEL =
stringKeyTemplate("k8s.job.label");
@@ -198,23 +300,38 @@ public final class K8sIncubatingAttributes {
public static final AttributeKey K8S_JOB_UID = stringKey("k8s.job.uid");
/**
- * The annotation key-value pairs placed on the Namespace.
+ * The annotation placed on the Namespace, the {@code } being the annotation name, the value
+ * being the annotation value, even if the value is empty.
*
* Notes:
*
- *
The {@code } being the annotation name, the value being the annotation value, even if
- * the value is empty.
+ * Examples:
+ *
+ *
+ * - A label {@code ttl} with value {@code 0} SHOULD be recorded as the {@code
+ * k8s.namespace.annotation.ttl} attribute with value {@code "0"}.
+ *
- A label {@code data} with empty string value SHOULD be recorded as the {@code
+ * k8s.namespace.annotation.data} attribute with value {@code ""}.
+ *
*/
public static final AttributeKeyTemplate K8S_NAMESPACE_ANNOTATION =
stringKeyTemplate("k8s.namespace.annotation");
/**
- * The label key-value pairs placed on the Namespace.
+ * The label placed on the Namespace, the {@code } being the label name, the value being the
+ * label value, even if the value is empty.
*
* Notes:
*
- *
The {@code } being the label name, the value being the label value, even if the value
- * is empty.
+ * Examples:
+ *
+ *
+ * - A label {@code kubernetes.io/metadata.name} with value {@code default} SHOULD be recorded
+ * as the {@code k8s.namespace.label.kubernetes.io/metadata.name} attribute with value
+ * {@code "default"}.
+ *
- A label {@code data} with empty string value SHOULD be recorded as the {@code
+ * k8s.namespace.label.data} attribute with value {@code ""}.
+ *
*/
public static final AttributeKeyTemplate K8S_NAMESPACE_LABEL =
stringKeyTemplate("k8s.namespace.label");
@@ -252,6 +369,36 @@ public final class K8sIncubatingAttributes {
public static final AttributeKeyTemplate K8S_NODE_ANNOTATION =
stringKeyTemplate("k8s.node.annotation");
+ /**
+ * The status of the condition, one of True, False, Unknown.
+ *
+ * Notes:
+ *
+ *
This attribute aligns with the {@code status} field of the NodeCondition
+ */
+ public static final AttributeKey K8S_NODE_CONDITION_STATUS =
+ stringKey("k8s.node.condition.status");
+
+ /**
+ * The condition type of a K8s Node.
+ *
+ * Notes:
+ *
+ *
K8s Node conditions as described by K8s
+ * documentation.
+ *
+ *
This attribute aligns with the {@code type} field of the NodeCondition
+ *
+ *
The set of possible values is not limited to those listed here. Managed Kubernetes
+ * environments, or custom controllers MAY introduce additional node condition types. When this
+ * occurs, the exact value as reported by the Kubernetes API SHOULD be used.
+ */
+ public static final AttributeKey K8S_NODE_CONDITION_TYPE =
+ stringKey("k8s.node.condition.type");
+
/**
* The label placed on the Node, the {@code } being the label name, the value being the label
* value, even if the value is empty.
@@ -334,23 +481,37 @@ public final class K8sIncubatingAttributes {
public static final AttributeKey K8S_POD_UID = stringKey("k8s.pod.uid");
/**
- * The annotation key-value pairs placed on the ReplicaSet.
+ * The annotation placed on the ReplicaSet, the {@code } being the annotation name, the value
+ * being the annotation value, even if the value is empty.
*
* Notes:
*
- *
The {@code } being the annotation name, the value being the annotation value, even if
- * the value is empty.
+ * Examples:
+ *
+ *
+ * - A label {@code replicas} with value {@code 0} SHOULD be recorded as the {@code
+ * k8s.replicaset.annotation.replicas} attribute with value {@code "0"}.
+ *
- A label {@code data} with empty string value SHOULD be recorded as the {@code
+ * k8s.replicaset.annotation.data} attribute with value {@code ""}.
+ *
*/
public static final AttributeKeyTemplate K8S_REPLICASET_ANNOTATION =
stringKeyTemplate("k8s.replicaset.annotation");
/**
- * The label key-value pairs placed on the ReplicaSet.
+ * The label placed on the ReplicaSet, the {@code } being the label name, the value being the
+ * label value, even if the value is empty.
*
* Notes:
*
- *
The {@code } being the label name, the value being the label value, even if the value
- * is empty.
+ * Examples:
+ *
+ *
+ * - A label {@code app} with value {@code guestbook} SHOULD be recorded as the {@code
+ * k8s.replicaset.label.app} attribute with value {@code "guestbook"}.
+ *
- A label {@code injected} with empty string value SHOULD be recorded as the {@code
+ * k8s.replicaset.label.injected} attribute with value {@code ""}.
+ *
*/
public static final AttributeKeyTemplate K8S_REPLICASET_LABEL =
stringKeyTemplate("k8s.replicaset.label");
@@ -373,28 +534,57 @@ public final class K8sIncubatingAttributes {
public static final AttributeKey K8S_RESOURCEQUOTA_NAME =
stringKey("k8s.resourcequota.name");
+ /**
+ * The name of the K8s resource a resource quota defines.
+ *
+ * Notes:
+ *
+ *
The value for this attribute can be either the full {@code count/[.]}
+ * string (e.g., count/deployments.apps, count/pods), or, for certain core Kubernetes resources,
+ * just the resource name (e.g., pods, services, configmaps). Both forms are supported by
+ * Kubernetes for object count quotas. See Kubernetes
+ * Resource Quotas documentation for more details.
+ */
+ public static final AttributeKey K8S_RESOURCEQUOTA_RESOURCE_NAME =
+ stringKey("k8s.resourcequota.resource_name");
+
/** The UID of the resource quota. */
public static final AttributeKey K8S_RESOURCEQUOTA_UID =
stringKey("k8s.resourcequota.uid");
/**
- * The annotation key-value pairs placed on the StatefulSet.
+ * The annotation placed on the StatefulSet, the {@code } being the annotation name, the
+ * value being the annotation value, even if the value is empty.
*
* Notes:
*
- *
The {@code } being the annotation name, the value being the annotation value, even if
- * the value is empty.
+ * Examples:
+ *
+ *
+ * - A label {@code replicas} with value {@code 1} SHOULD be recorded as the {@code
+ * k8s.statefulset.annotation.replicas} attribute with value {@code "1"}.
+ *
- A label {@code data} with empty string value SHOULD be recorded as the {@code
+ * k8s.statefulset.annotation.data} attribute with value {@code ""}.
+ *
*/
public static final AttributeKeyTemplate K8S_STATEFULSET_ANNOTATION =
stringKeyTemplate("k8s.statefulset.annotation");
/**
- * The label key-value pairs placed on the StatefulSet.
+ * The label placed on the StatefulSet, the {@code } being the label name, the value being
+ * the label value, even if the value is empty.
*
* Notes:
*
- *
The {@code } being the label name, the value being the label value, even if the value
- * is empty.
+ * Examples:
+ *
+ *
+ * - A label {@code replicas} with value {@code 0} SHOULD be recorded as the {@code
+ * k8s.statefulset.label.app} attribute with value {@code "guestbook"}.
+ *
- A label {@code injected} with empty string value SHOULD be recorded as the {@code
+ * k8s.statefulset.label.injected} attribute with value {@code ""}.
+ *
*/
public static final AttributeKeyTemplate K8S_STATEFULSET_LABEL =
stringKeyTemplate("k8s.statefulset.label");
@@ -405,6 +595,14 @@ public final class K8sIncubatingAttributes {
/** The UID of the StatefulSet. */
public static final AttributeKey K8S_STATEFULSET_UID = stringKey("k8s.statefulset.uid");
+ /**
+ * The name of K8s StorageClass
+ * object.
+ */
+ public static final AttributeKey K8S_STORAGECLASS_NAME =
+ stringKey("k8s.storageclass.name");
+
/** The name of the K8s volume. */
public static final AttributeKey K8S_VOLUME_NAME = stringKey("k8s.volume.name");
@@ -413,6 +611,52 @@ public final class K8sIncubatingAttributes {
// Enum definitions
+ /** Values for {@link #K8S_CONTAINER_STATUS_REASON}. */
+ public static final class K8sContainerStatusReasonIncubatingValues {
+ /** The container is being created. */
+ public static final String CONTAINER_CREATING = "ContainerCreating";
+
+ /** The container is in a crash loop back off state. */
+ public static final String CRASH_LOOP_BACK_OFF = "CrashLoopBackOff";
+
+ /** There was an error creating the container configuration. */
+ public static final String CREATE_CONTAINER_CONFIG_ERROR = "CreateContainerConfigError";
+
+ /** There was an error pulling the container image. */
+ public static final String ERR_IMAGE_PULL = "ErrImagePull";
+
+ /** The container image pull is in back off state. */
+ public static final String IMAGE_PULL_BACK_OFF = "ImagePullBackOff";
+
+ /** The container was killed due to out of memory. */
+ public static final String OOM_KILLED = "OOMKilled";
+
+ /** The container has completed execution. */
+ public static final String COMPLETED = "Completed";
+
+ /** There was an error with the container. */
+ public static final String ERROR = "Error";
+
+ /** The container cannot run. */
+ public static final String CONTAINER_CANNOT_RUN = "ContainerCannotRun";
+
+ private K8sContainerStatusReasonIncubatingValues() {}
+ }
+
+ /** Values for {@link #K8S_CONTAINER_STATUS_STATE}. */
+ public static final class K8sContainerStatusStateIncubatingValues {
+ /** The container has terminated. */
+ public static final String TERMINATED = "terminated";
+
+ /** The container is running. */
+ public static final String RUNNING = "running";
+
+ /** The container is waiting. */
+ public static final String WAITING = "waiting";
+
+ private K8sContainerStatusStateIncubatingValues() {}
+ }
+
/** Values for {@link #K8S_NAMESPACE_PHASE}. */
public static final class K8sNamespacePhaseIncubatingValues {
/**
@@ -430,6 +674,40 @@ public static final class K8sNamespacePhaseIncubatingValues {
private K8sNamespacePhaseIncubatingValues() {}
}
+ /** Values for {@link #K8S_NODE_CONDITION_STATUS}. */
+ public static final class K8sNodeConditionStatusIncubatingValues {
+ /** condition_true. */
+ public static final String CONDITION_TRUE = "true";
+
+ /** condition_false. */
+ public static final String CONDITION_FALSE = "false";
+
+ /** condition_unknown. */
+ public static final String CONDITION_UNKNOWN = "unknown";
+
+ private K8sNodeConditionStatusIncubatingValues() {}
+ }
+
+ /** Values for {@link #K8S_NODE_CONDITION_TYPE}. */
+ public static final class K8sNodeConditionTypeIncubatingValues {
+ /** The node is healthy and ready to accept pods */
+ public static final String READY = "Ready";
+
+ /** Pressure exists on the disk size—that is, if the disk capacity is low */
+ public static final String DISK_PRESSURE = "DiskPressure";
+
+ /** Pressure exists on the node memory—that is, if the node memory is low */
+ public static final String MEMORY_PRESSURE = "MemoryPressure";
+
+ /** Pressure exists on the processes—that is, if there are too many processes on the node */
+ public static final String PID_PRESSURE = "PIDPressure";
+
+ /** The network for the node is not correctly configured */
+ public static final String NETWORK_UNAVAILABLE = "NetworkUnavailable";
+
+ private K8sNodeConditionTypeIncubatingValues() {}
+ }
+
/** Values for {@link #K8S_VOLUME_TYPE}. */
public static final class K8sVolumeTypeIncubatingValues {
/**
diff --git a/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/MainframeIncubatingAttributes.java b/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/MainframeIncubatingAttributes.java
new file mode 100644
index 0000000..43fbb47
--- /dev/null
+++ b/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/MainframeIncubatingAttributes.java
@@ -0,0 +1,22 @@
+/*
+ * 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 MainframeIncubatingAttributes {
+ /** Name of the logical partition that hosts a systems with a mainframe operating system. */
+ public static final AttributeKey MAINFRAME_LPAR_NAME = stringKey("mainframe.lpar.name");
+
+ // Enum definitions
+
+ private MainframeIncubatingAttributes() {}
+}
diff --git a/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/OsIncubatingAttributes.java b/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/OsIncubatingAttributes.java
index 0e2018a..25d4c2a 100644
--- a/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/OsIncubatingAttributes.java
+++ b/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/OsIncubatingAttributes.java
@@ -68,9 +68,12 @@ public static final class OsTypeIncubatingValues {
/** SunOS, Oracle Solaris */
public static final String SOLARIS = "solaris";
- /** IBM z/OS */
+ /** Deprecated. Use {@code zos} instead. */
public static final String Z_OS = "z_os";
+ /** IBM z/OS */
+ public static final String ZOS = "zos";
+
private OsTypeIncubatingValues() {}
}
diff --git a/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/OtelIncubatingAttributes.java b/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/OtelIncubatingAttributes.java
index 016730e..e88a7de 100644
--- a/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/OtelIncubatingAttributes.java
+++ b/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/OtelIncubatingAttributes.java
@@ -84,6 +84,14 @@ public final class OtelIncubatingAttributes {
@Deprecated
public static final AttributeKey OTEL_SCOPE_VERSION = stringKey("otel.scope.version");
+ /**
+ * Determines whether the span has a parent span, and if so, whether it is a remote
+ * parent
+ */
+ public static final AttributeKey OTEL_SPAN_PARENT_ORIGIN =
+ stringKey("otel.span.parent.origin");
+
/** The result value of the sampler for this span */
public static final AttributeKey OTEL_SPAN_SAMPLING_RESULT =
stringKey("otel.span.sampling_result");
@@ -132,6 +140,9 @@ public static final class OtelComponentTypeIncubatingValues {
/** OTLP span exporter over HTTP with JSON serialization */
public static final String OTLP_HTTP_JSON_SPAN_EXPORTER = "otlp_http_json_span_exporter";
+ /** Zipkin span exporter over HTTP */
+ public static final String ZIPKIN_HTTP_SPAN_EXPORTER = "zipkin_http_span_exporter";
+
/** OTLP log record exporter over gRPC with protobuf serialization */
public static final String OTLP_GRPC_LOG_EXPORTER = "otlp_grpc_log_exporter";
@@ -153,9 +164,33 @@ public static final class OtelComponentTypeIncubatingValues {
/** OTLP metric exporter over HTTP with JSON serialization */
public static final String OTLP_HTTP_JSON_METRIC_EXPORTER = "otlp_http_json_metric_exporter";
+ /** Prometheus metric exporter over HTTP with the default text-based format */
+ public static final String PROMETHEUS_HTTP_TEXT_METRIC_EXPORTER =
+ "prometheus_http_text_metric_exporter";
+
private OtelComponentTypeIncubatingValues() {}
}
+ /** Values for {@link #OTEL_SPAN_PARENT_ORIGIN}. */
+ public static final class OtelSpanParentOriginIncubatingValues {
+ /** The span does not have a parent, it is a root span */
+ public static final String NONE = "none";
+
+ /**
+ * The span has a parent and the parent's span context isRemote() is false
+ */
+ public static final String LOCAL = "local";
+
+ /**
+ * The span has a parent and the parent's span context isRemote() is true
+ */
+ public static final String REMOTE = "remote";
+
+ private OtelSpanParentOriginIncubatingValues() {}
+ }
+
/** Values for {@link #OTEL_SPAN_SAMPLING_RESULT}. */
public static final class OtelSpanSamplingResultIncubatingValues {
/** The span is not sampled and not recording */
diff --git a/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/ProcessIncubatingAttributes.java b/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/ProcessIncubatingAttributes.java
index 7d4f45e..50bd9bd 100644
--- a/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/ProcessIncubatingAttributes.java
+++ b/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/ProcessIncubatingAttributes.java
@@ -71,8 +71,8 @@ public final class ProcessIncubatingAttributes {
stringKey("process.creation.time");
/**
- * Process environment variables, being the environment variable name, the value being the
- * environment variable value.
+ * Process environment variables, {@code } being the environment variable name, the value
+ * being the environment variable value.
*
* Notes:
*
diff --git a/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/ZosIncubatingAttributes.java b/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/ZosIncubatingAttributes.java
new file mode 100644
index 0000000..ebe0c52
--- /dev/null
+++ b/semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/ZosIncubatingAttributes.java
@@ -0,0 +1,28 @@
+/*
+ * 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 ZosIncubatingAttributes {
+ /**
+ * The System Management Facility (SMF) Identifier uniquely identified a z/OS system within a
+ * SYSPLEX or mainframe environment and is used for system and performance analysis.
+ */
+ public static final AttributeKey ZOS_SMF_ID = stringKey("zos.smf.id");
+
+ /** The name of the SYSPLEX to which the z/OS system belongs too. */
+ public static final AttributeKey ZOS_SYSPLEX_NAME = stringKey("zos.sysplex.name");
+
+ // Enum definitions
+
+ private ZosIncubatingAttributes() {}
+}
diff --git a/semconv/src/main/java/io/opentelemetry/semconv/SchemaUrls.java b/semconv/src/main/java/io/opentelemetry/semconv/SchemaUrls.java
index 3e9e114..335fc00 100644
--- a/semconv/src/main/java/io/opentelemetry/semconv/SchemaUrls.java
+++ b/semconv/src/main/java/io/opentelemetry/semconv/SchemaUrls.java
@@ -7,6 +7,8 @@
public final class SchemaUrls {
+ public static final String V1_36_0 = "https://opentelemetry.io/schemas/1.36.0";
+ public static final String V1_35_0 = "https://opentelemetry.io/schemas/1.35.0";
public static final String V1_34_0 = "https://opentelemetry.io/schemas/1.34.0";
public static final String V1_33_0 = "https://opentelemetry.io/schemas/1.33.0";
public static final String V1_32_0 = "https://opentelemetry.io/schemas/1.32.0";