Class K8sIncubatingAttributes
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classValues forK8S_CONTAINER_STATUS_REASON.static final classValues forK8S_CONTAINER_STATUS_STATE.static final classValues forK8S_NAMESPACE_PHASE.static final classValues forK8S_NODE_CONDITION_STATUS.static final classValues forK8S_NODE_CONDITION_TYPE.static final classValues forK8S_VOLUME_TYPE. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final io.opentelemetry.api.common.AttributeKey<String>The name of the cluster.static final io.opentelemetry.api.common.AttributeKey<String>A pseudo-ID for the cluster, set to the UID of thekube-systemnamespace.static final io.opentelemetry.api.common.AttributeKey<String>The name of the Container from Pod specification, must be unique within a Pod.static final io.opentelemetry.api.common.AttributeKey<Long>Number of times the container was restarted.static final io.opentelemetry.api.common.AttributeKey<String>Last terminated reason of the Container.static final io.opentelemetry.api.common.AttributeKey<String>The reason for the container state.static final io.opentelemetry.api.common.AttributeKey<String>The state of the container.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The cronjob annotation placed on the CronJob, the<key>being the annotation name, the value being the annotation value.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The label placed on the CronJob, the<key>being the label name, the value being the label value.static final io.opentelemetry.api.common.AttributeKey<String>The name of the CronJob.static final io.opentelemetry.api.common.AttributeKey<String>The UID of the CronJob.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The annotation placed on the DaemonSet, the<key>being the annotation name, the value being the annotation value, even if the value is empty.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The label placed on the DaemonSet, the<key>being the label name, the value being the label value, even if the value is empty.static final io.opentelemetry.api.common.AttributeKey<String>The name of the DaemonSet.static final io.opentelemetry.api.common.AttributeKey<String>The UID of the DaemonSet.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The annotation placed on the Deployment, the<key>being the annotation name, the value being the annotation value, even if the value is empty.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The label placed on the Deployment, the<key>being the label name, the value being the label value, even if the value is empty.static final io.opentelemetry.api.common.AttributeKey<String>The name of the Deployment.static final io.opentelemetry.api.common.AttributeKey<String>The UID of the Deployment.static final io.opentelemetry.api.common.AttributeKey<String>The type of metric source for the horizontal pod autoscaler.static final io.opentelemetry.api.common.AttributeKey<String>The name of the horizontal pod autoscaler.static final io.opentelemetry.api.common.AttributeKey<String>The API version of the target resource to scale for the HorizontalPodAutoscaler.static final io.opentelemetry.api.common.AttributeKey<String>The kind of the target resource to scale for the HorizontalPodAutoscaler.static final io.opentelemetry.api.common.AttributeKey<String>The name of the target resource to scale for the HorizontalPodAutoscaler.static final io.opentelemetry.api.common.AttributeKey<String>The UID of the horizontal pod autoscaler.static final io.opentelemetry.api.common.AttributeKey<String>The size (identifier) of the K8s huge page.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The annotation placed on the Job, the<key>being the annotation name, the value being the annotation value, even if the value is empty.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The label placed on the Job, the<key>being the label name, the value being the label value, even if the value is empty.static final io.opentelemetry.api.common.AttributeKey<String>The name of the Job.static final io.opentelemetry.api.common.AttributeKey<String>The UID of the Job.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The annotation placed on the Namespace, the<key>being the annotation name, the value being the annotation value, even if the value is empty.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The label placed on the Namespace, the<key>being the label name, the value being the label value, even if the value is empty.static final io.opentelemetry.api.common.AttributeKey<String>The name of the namespace that the pod is running in.static final io.opentelemetry.api.common.AttributeKey<String>The phase of the K8s namespace.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The annotation placed on the Node, the<key>being the annotation name, the value being the annotation value, even if the value is empty.static final io.opentelemetry.api.common.AttributeKey<String>The status of the condition, one of True, False, Unknown.static final io.opentelemetry.api.common.AttributeKey<String>The condition type of a K8s Node.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The label placed on the Node, the<key>being the label name, the value being the label value, even if the value is empty.static final io.opentelemetry.api.common.AttributeKey<String>The name of the Node.static final io.opentelemetry.api.common.AttributeKey<String>The UID of the Node.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The annotation placed on the Pod, the<key>being the annotation name, the value being the annotation value.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The label placed on the Pod, the<key>being the label name, the value being the label value.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>Deprecated.static final io.opentelemetry.api.common.AttributeKey<String>The name of the Pod.static final io.opentelemetry.api.common.AttributeKey<String>The UID of the Pod.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The annotation placed on the ReplicaSet, the<key>being the annotation name, the value being the annotation value, even if the value is empty.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The label placed on the ReplicaSet, the<key>being the label name, the value being the label value, even if the value is empty.static final io.opentelemetry.api.common.AttributeKey<String>The name of the ReplicaSet.static final io.opentelemetry.api.common.AttributeKey<String>The UID of the ReplicaSet.static final io.opentelemetry.api.common.AttributeKey<String>The name of the replication controller.static final io.opentelemetry.api.common.AttributeKey<String>The UID of the replication controller.static final io.opentelemetry.api.common.AttributeKey<String>The name of the resource quota.static final io.opentelemetry.api.common.AttributeKey<String>The name of the K8s resource a resource quota defines.static final io.opentelemetry.api.common.AttributeKey<String>The UID of the resource quota.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The annotation placed on the StatefulSet, the<key>being the annotation name, the value being the annotation value, even if the value is empty.static final io.opentelemetry.semconv.AttributeKeyTemplate<String>The label placed on the StatefulSet, the<key>being the label name, the value being the label value, even if the value is empty.static final io.opentelemetry.api.common.AttributeKey<String>The name of the StatefulSet.static final io.opentelemetry.api.common.AttributeKey<String>The UID of the StatefulSet.static final io.opentelemetry.api.common.AttributeKey<String>The name of K8s StorageClass object.static final io.opentelemetry.api.common.AttributeKey<String>The name of the K8s volume.static final io.opentelemetry.api.common.AttributeKey<String>The type of the K8s volume. -
Method Summary
-
Field Details
-
K8S_CLUSTER_NAME
The name of the cluster. -
K8S_CLUSTER_UID
A pseudo-ID for the cluster, set to the UID of thekube-systemnamespace.Notes:
K8s doesn't have support for obtaining a cluster ID. If this is ever added, we will recommend collecting the
k8s.cluster.uidthrough the official APIs. In the meantime, we are able to use theuidof thekube-systemnamespace as a proxy for cluster ID. Read on for the rationale.Every object created in a K8s cluster is assigned a distinct UID. The
kube-systemnamespace is used by Kubernetes itself and will exist for the lifetime of the cluster. Using theuidof thekube-systemnamespace is a reasonable proxy for the K8s ClusterID as it will only change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are UUIDs as standardized by ISO/IEC 9834-8 and ITU-T X.667. Which states:If generated according to one of the mechanisms defined in Rec. ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be different from all other UUIDs generated before 3603 A.D., or is extremely likely to be different (depending on the mechanism chosen).
Therefore, UIDs between clusters should be extremely unlikely to conflict.
-
K8S_CONTAINER_NAME
The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name). -
K8S_CONTAINER_RESTART_COUNT
Number of times the container was restarted. This attribute can be used to identify a particular container (running or stopped) within a container spec. -
K8S_CONTAINER_STATUS_LAST_TERMINATED_REASON
public static final io.opentelemetry.api.common.AttributeKey<String> K8S_CONTAINER_STATUS_LAST_TERMINATED_REASONLast terminated reason of the Container. -
K8S_CONTAINER_STATUS_REASON
The reason for the container state. Corresponds to thereasonfield of the: K8s ContainerStateWaiting or K8s ContainerStateTerminated -
K8S_CONTAINER_STATUS_STATE
The state of the container. K8s ContainerState -
K8S_CRONJOB_ANNOTATION
The cronjob annotation placed on the CronJob, the<key>being the annotation name, the value being the annotation value.Notes:
Examples:
- An annotation
retrieswith value4SHOULD be recorded as thek8s.cronjob.annotation.retriesattribute with value"4". - An annotation
datawith empty string value SHOULD be recorded as thek8s.cronjob.annotation.dataattribute with value"".
- An annotation
-
K8S_CRONJOB_LABEL
The label placed on the CronJob, the<key>being the label name, the value being the label value.Notes:
Examples:
- A label
typewith valueweeklySHOULD be recorded as thek8s.cronjob.label.typeattribute with value"weekly". - A label
automatedwith empty string value SHOULD be recorded as thek8s.cronjob.label.automatedattribute with value"".
- A label
-
K8S_CRONJOB_NAME
The name of the CronJob. -
K8S_CRONJOB_UID
The UID of the CronJob. -
K8S_DAEMONSET_ANNOTATION
The annotation placed on the DaemonSet, the<key>being the annotation name, the value being the annotation value, even if the value is empty.Notes:
Examples:
- A label
replicaswith value1SHOULD be recorded as thek8s.daemonset.annotation.replicasattribute with value"1". - A label
datawith empty string value SHOULD be recorded as thek8s.daemonset.annotation.dataattribute with value"".
- A label
-
K8S_DAEMONSET_LABEL
The label placed on the DaemonSet, the<key>being the label name, the value being the label value, even if the value is empty.Notes:
Examples:
- A label
appwith valueguestbookSHOULD be recorded as thek8s.daemonset.label.appattribute with value"guestbook". - A label
datawith empty string value SHOULD be recorded as thek8s.daemonset.label.injectedattribute with value"".
- A label
-
K8S_DAEMONSET_NAME
The name of the DaemonSet. -
K8S_DAEMONSET_UID
The UID of the DaemonSet. -
K8S_DEPLOYMENT_ANNOTATION
The annotation placed on the Deployment, the<key>being the annotation name, the value being the annotation value, even if the value is empty.Notes:
Examples:
- A label
replicaswith value1SHOULD be recorded as thek8s.deployment.annotation.replicasattribute with value"1". - A label
datawith empty string value SHOULD be recorded as thek8s.deployment.annotation.dataattribute with value"".
- A label
-
K8S_DEPLOYMENT_LABEL
The label placed on the Deployment, the<key>being the label name, the value being the label value, even if the value is empty.Notes:
Examples:
- A label
replicaswith value0SHOULD be recorded as thek8s.deployment.label.appattribute with value"guestbook". - A label
injectedwith empty string value SHOULD be recorded as thek8s.deployment.label.injectedattribute with value"".
- A label
-
K8S_DEPLOYMENT_NAME
The name of the Deployment. -
K8S_DEPLOYMENT_UID
The UID of the Deployment. -
K8S_HPA_METRIC_TYPE
The type of metric source for the horizontal pod autoscaler.Notes:
This attribute reflects the
typefield of spec.metrics[] in the HPA. -
K8S_HPA_NAME
The name of the horizontal pod autoscaler. -
K8S_HPA_SCALETARGETREF_API_VERSION
public static final io.opentelemetry.api.common.AttributeKey<String> K8S_HPA_SCALETARGETREF_API_VERSIONThe API version of the target resource to scale for the HorizontalPodAutoscaler.Notes:
This maps to the
apiVersionfield in thescaleTargetRefof the HPA spec. -
K8S_HPA_SCALETARGETREF_KIND
The kind of the target resource to scale for the HorizontalPodAutoscaler.Notes:
This maps to the
kindfield in thescaleTargetRefof the HPA spec. -
K8S_HPA_SCALETARGETREF_NAME
The name of the target resource to scale for the HorizontalPodAutoscaler.Notes:
This maps to the
namefield in thescaleTargetRefof the HPA spec. -
K8S_HPA_UID
The UID of the horizontal pod autoscaler. -
K8S_HUGEPAGE_SIZE
The size (identifier) of the K8s huge page. -
K8S_JOB_ANNOTATION
The annotation placed on the Job, the<key>being the annotation name, the value being the annotation value, even if the value is empty.Notes:
Examples:
- A label
numberwith value1SHOULD be recorded as thek8s.job.annotation.numberattribute with value"1". - A label
datawith empty string value SHOULD be recorded as thek8s.job.annotation.dataattribute with value"".
- A label
-
K8S_JOB_LABEL
The label placed on the Job, the<key>being the label name, the value being the label value, even if the value is empty.Notes:
Examples:
- A label
jobtypewith valueciSHOULD be recorded as thek8s.job.label.jobtypeattribute with value"ci". - A label
datawith empty string value SHOULD be recorded as thek8s.job.label.automatedattribute with value"".
- A label
-
K8S_JOB_NAME
The name of the Job. -
K8S_JOB_UID
The UID of the Job. -
K8S_NAMESPACE_ANNOTATION
The annotation placed on the Namespace, the<key>being the annotation name, the value being the annotation value, even if the value is empty.Notes:
Examples:
- A label
ttlwith value0SHOULD be recorded as thek8s.namespace.annotation.ttlattribute with value"0". - A label
datawith empty string value SHOULD be recorded as thek8s.namespace.annotation.dataattribute with value"".
- A label
-
K8S_NAMESPACE_LABEL
The label placed on the Namespace, the<key>being the label name, the value being the label value, even if the value is empty.Notes:
Examples:
- A label
kubernetes.io/metadata.namewith valuedefaultSHOULD be recorded as thek8s.namespace.label.kubernetes.io/metadata.nameattribute with value"default". - A label
datawith empty string value SHOULD be recorded as thek8s.namespace.label.dataattribute with value"".
- A label
-
K8S_NAMESPACE_NAME
The name of the namespace that the pod is running in. -
K8S_NAMESPACE_PHASE
The phase of the K8s namespace.Notes:
This attribute aligns with the
phasefield of the K8s NamespaceStatus -
K8S_NODE_ANNOTATION
The annotation placed on the Node, the<key>being the annotation name, the value being the annotation value, even if the value is empty.Notes:
Examples:
- An annotation
node.alpha.kubernetes.io/ttlwith value0SHOULD be recorded as thek8s.node.annotation.node.alpha.kubernetes.io/ttlattribute with value"0". - An annotation
datawith empty string value SHOULD be recorded as thek8s.node.annotation.dataattribute with value"".
- An annotation
-
K8S_NODE_CONDITION_STATUS
The status of the condition, one of True, False, Unknown.Notes:
This attribute aligns with the
statusfield of the NodeCondition -
K8S_NODE_CONDITION_TYPE
The condition type of a K8s Node.Notes:
K8s Node conditions as described by K8s documentation.
This attribute aligns with the
typefield of the NodeConditionThe 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.
-
K8S_NODE_LABEL
The label placed on the Node, the<key>being the label name, the value being the label value, even if the value is empty.Notes:
Examples:
- A label
kubernetes.io/archwith valuearm64SHOULD be recorded as thek8s.node.label.kubernetes.io/archattribute with value"arm64". - A label
datawith empty string value SHOULD be recorded as thek8s.node.label.dataattribute with value"".
- A label
-
K8S_NODE_NAME
The name of the Node. -
K8S_NODE_UID
The UID of the Node. -
K8S_POD_ANNOTATION
The annotation placed on the Pod, the<key>being the annotation name, the value being the annotation value.Notes:
Examples:
- An annotation
kubernetes.io/enforce-mountable-secretswith valuetrueSHOULD be recorded as thek8s.pod.annotation.kubernetes.io/enforce-mountable-secretsattribute with value"true". - An annotation
mycompany.io/archwith valuex64SHOULD be recorded as thek8s.pod.annotation.mycompany.io/archattribute with value"x64". - An annotation
datawith empty string value SHOULD be recorded as thek8s.pod.annotation.dataattribute with value"".
- An annotation
-
K8S_POD_LABEL
The label placed on the Pod, the<key>being the label name, the value being the label value.Notes:
Examples:
- A label
appwith valuemy-appSHOULD be recorded as thek8s.pod.label.appattribute with value"my-app". - A label
mycompany.io/archwith valuex64SHOULD be recorded as thek8s.pod.label.mycompany.io/archattribute with value"x64". - A label
datawith empty string value SHOULD be recorded as thek8s.pod.label.dataattribute with value"".
- A label
-
K8S_POD_LABELS
@Deprecated public static final io.opentelemetry.semconv.AttributeKeyTemplate<String> K8S_POD_LABELSDeprecated.Replaced byk8s.pod.label.Deprecated, usek8s.pod.labelinstead. -
K8S_POD_NAME
The name of the Pod. -
K8S_POD_UID
The UID of the Pod. -
K8S_REPLICASET_ANNOTATION
The annotation placed on the ReplicaSet, the<key>being the annotation name, the value being the annotation value, even if the value is empty.Notes:
Examples:
- A label
replicaswith value0SHOULD be recorded as thek8s.replicaset.annotation.replicasattribute with value"0". - A label
datawith empty string value SHOULD be recorded as thek8s.replicaset.annotation.dataattribute with value"".
- A label
-
K8S_REPLICASET_LABEL
The label placed on the ReplicaSet, the<key>being the label name, the value being the label value, even if the value is empty.Notes:
Examples:
- A label
appwith valueguestbookSHOULD be recorded as thek8s.replicaset.label.appattribute with value"guestbook". - A label
injectedwith empty string value SHOULD be recorded as thek8s.replicaset.label.injectedattribute with value"".
- A label
-
K8S_REPLICASET_NAME
The name of the ReplicaSet. -
K8S_REPLICASET_UID
The UID of the ReplicaSet. -
K8S_REPLICATIONCONTROLLER_NAME
The name of the replication controller. -
K8S_REPLICATIONCONTROLLER_UID
The UID of the replication controller. -
K8S_RESOURCEQUOTA_NAME
The name of the resource quota. -
K8S_RESOURCEQUOTA_RESOURCE_NAME
public static final io.opentelemetry.api.common.AttributeKey<String> K8S_RESOURCEQUOTA_RESOURCE_NAMEThe name of the K8s resource a resource quota defines.Notes:
The value for this attribute can be either the full
count/<resource>[.<group>]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. -
K8S_RESOURCEQUOTA_UID
The UID of the resource quota. -
K8S_STATEFULSET_ANNOTATION
public static final io.opentelemetry.semconv.AttributeKeyTemplate<String> K8S_STATEFULSET_ANNOTATIONThe annotation placed on the StatefulSet, the<key>being the annotation name, the value being the annotation value, even if the value is empty.Notes:
Examples:
- A label
replicaswith value1SHOULD be recorded as thek8s.statefulset.annotation.replicasattribute with value"1". - A label
datawith empty string value SHOULD be recorded as thek8s.statefulset.annotation.dataattribute with value"".
- A label
-
K8S_STATEFULSET_LABEL
The label placed on the StatefulSet, the<key>being the label name, the value being the label value, even if the value is empty.Notes:
Examples:
- A label
replicaswith value0SHOULD be recorded as thek8s.statefulset.label.appattribute with value"guestbook". - A label
injectedwith empty string value SHOULD be recorded as thek8s.statefulset.label.injectedattribute with value"".
- A label
-
K8S_STATEFULSET_NAME
The name of the StatefulSet. -
K8S_STATEFULSET_UID
The UID of the StatefulSet. -
K8S_STORAGECLASS_NAME
The name of K8s StorageClass object. -
K8S_VOLUME_NAME
The name of the K8s volume. -
K8S_VOLUME_TYPE
The type of the K8s volume.
-
k8s.pod.label.