Module: OpenTelemetry::SemConv::Incubating::K8S

Defined in:
lib/opentelemetry/semconv/incubating/k8s/metrics.rb,
lib/opentelemetry/semconv/incubating/k8s/attributes.rb

Metrics Names collapse

K8S_CONTAINER_CPU_LIMIT =
Note:

Stability Level: development

Maximum CPU resource limit set for the container

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.

'k8s.container.cpu.limit'
K8S_CONTAINER_CPU_REQUEST =
Note:

Stability Level: development

CPU resource requested for the container

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.

'k8s.container.cpu.request'
K8S_CONTAINER_EPHEMERAL_STORAGE_LIMIT =
Note:

Stability Level: development

Maximum ephemeral storage resource limit set for the container

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.

'k8s.container.ephemeral_storage.limit'
K8S_CONTAINER_EPHEMERAL_STORAGE_REQUEST =
Note:

Stability Level: development

Ephemeral storage resource requested for the container

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.

'k8s.container.ephemeral_storage.request'
K8S_CONTAINER_MEMORY_LIMIT =
Note:

Stability Level: development

Maximum memory resource limit set for the container

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.

'k8s.container.memory.limit'
K8S_CONTAINER_MEMORY_REQUEST =
Note:

Stability Level: development

Memory resource requested for the container

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.

'k8s.container.memory.request'
K8S_CONTAINER_READY =
Note:

Stability Level: development

Indicates whether the container is currently marked as ready to accept traffic, based on its readiness probe (1 = ready, 0 = not ready)

This metric SHOULD reflect the value of the ready field in the K8s ContainerStatus.

'k8s.container.ready'
K8S_CONTAINER_STORAGE_LIMIT =
Note:

Stability Level: development

Maximum storage resource limit set for the container

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.

'k8s.container.storage.limit'
K8S_CONTAINER_STORAGE_REQUEST =
Note:

Stability Level: development

Storage resource requested for the container

See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core for details.

'k8s.container.storage.request'
K8S_CRONJOB_ACTIVE_JOBS =
Note:

Stability Level: development

The number of actively running jobs for a cronjob

This metric aligns with the active field of the K8s CronJobStatus.

'k8s.cronjob.active_jobs'
K8S_DAEMONSET_CURRENT_SCHEDULED_NODES =
Note:

Stability Level: development

Number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod

This metric aligns with the currentNumberScheduled field of the K8s DaemonSetStatus.

'k8s.daemonset.current_scheduled_nodes'
K8S_DAEMONSET_DESIRED_SCHEDULED_NODES =
Note:

Stability Level: development

Number of nodes that should be running the daemon pod (including nodes currently running the daemon pod)

This metric aligns with the desiredNumberScheduled field of the K8s DaemonSetStatus.

'k8s.daemonset.desired_scheduled_nodes'
K8S_DAEMONSET_MISSCHEDULED_NODES =
Note:

Stability Level: development

Number of nodes that are running the daemon pod, but are not supposed to run the daemon pod

This metric aligns with the numberMisscheduled field of the K8s DaemonSetStatus.

'k8s.daemonset.misscheduled_nodes'
K8S_DAEMONSET_READY_NODES =
Note:

Stability Level: development

Number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready

This metric aligns with the numberReady field of the K8s DaemonSetStatus.

'k8s.daemonset.ready_nodes'
K8S_DEPLOYMENT_AVAILABLE_PODS =
Note:

Stability Level: development

Total number of available replica pods (ready for at least minReadySeconds) targeted by this deployment

This metric aligns with the availableReplicas field of the K8s DeploymentStatus.

'k8s.deployment.available_pods'
K8S_DEPLOYMENT_DESIRED_PODS =
Note:

Stability Level: development

Number of desired replica pods in this deployment

This metric aligns with the replicas field of the K8s DeploymentSpec.

'k8s.deployment.desired_pods'
K8S_HPA_CURRENT_PODS =
Note:

Stability Level: development

Current number of replica pods managed by this horizontal pod autoscaler, as last seen by the autoscaler

This metric aligns with the currentReplicas field of the K8s HorizontalPodAutoscalerStatus

'k8s.hpa.current_pods'
K8S_HPA_DESIRED_PODS =
Note:

Stability Level: development

Desired number of replica pods managed by this horizontal pod autoscaler, as last calculated by the autoscaler

This metric aligns with the desiredReplicas field of the K8s HorizontalPodAutoscalerStatus

'k8s.hpa.desired_pods'
K8S_HPA_MAX_PODS =
Note:

Stability Level: development

The upper limit for the number of replica pods to which the autoscaler can scale up

This metric aligns with the maxReplicas field of the K8s HorizontalPodAutoscalerSpec

'k8s.hpa.max_pods'
K8S_HPA_METRIC_TARGET_CPU_AVERAGE_UTILIZATION =
Note:

Stability Level: development

Target average utilization, in percentage, for CPU resource in HPA config.

This metric aligns with the averageUtilization field of the K8s HPA MetricTarget. If the type of the metric is ContainerResource, the k8s.container.name attribute MUST be set to identify the specific container within the pod to which the metric applies.

'k8s.hpa.metric.target.cpu.average_utilization'
K8S_HPA_METRIC_TARGET_CPU_AVERAGE_VALUE =
Note:

Stability Level: development

Target average value for CPU resource in HPA config.

This metric aligns with the averageValue field of the K8s HPA MetricTarget. If the type of the metric is ContainerResource, the k8s.container.name attribute MUST be set to identify the specific container within the pod to which the metric applies.

'k8s.hpa.metric.target.cpu.average_value'
K8S_HPA_METRIC_TARGET_CPU_VALUE =
Note:

Stability Level: development

Target value for CPU resource in HPA config.

This metric aligns with the value field of the K8s HPA MetricTarget. If the type of the metric is ContainerResource, the k8s.container.name attribute MUST be set to identify the specific container within the pod to which the metric applies.

'k8s.hpa.metric.target.cpu.value'
K8S_HPA_MIN_PODS =
Note:

Stability Level: development

The lower limit for the number of replica pods to which the autoscaler can scale down

This metric aligns with the minReplicas field of the K8s HorizontalPodAutoscalerSpec

'k8s.hpa.min_pods'
K8S_JOB_ACTIVE_PODS =
Note:

Stability Level: development

The number of pending and actively running pods for a job

This metric aligns with the active field of the K8s JobStatus.

'k8s.job.active_pods'
K8S_JOB_DESIRED_SUCCESSFUL_PODS =
Note:

Stability Level: development

The desired number of successfully finished pods the job should be run with

This metric aligns with the completions field of the K8s JobSpec..

'k8s.job.desired_successful_pods'
K8S_JOB_FAILED_PODS =
Note:

Stability Level: development

The number of pods which reached phase Failed for a job

This metric aligns with the failed field of the K8s JobStatus.

'k8s.job.failed_pods'
K8S_JOB_MAX_PARALLEL_PODS =
Note:

Stability Level: development

The max desired number of pods the job should run at any given time

This metric aligns with the parallelism field of the K8s JobSpec.

'k8s.job.max_parallel_pods'
K8S_JOB_SUCCESSFUL_PODS =
Note:

Stability Level: development

The number of pods which reached phase Succeeded for a job

This metric aligns with the succeeded field of the K8s JobStatus.

'k8s.job.successful_pods'
K8S_NODE_ALLOCATABLE_CPU =
Note:

Stability Level: development

Amount of cpu allocatable on the node

'k8s.node.allocatable.cpu'
K8S_NODE_ALLOCATABLE_EPHEMERAL_STORAGE =
Note:

Stability Level: development

Amount of ephemeral-storage allocatable on the node

'k8s.node.allocatable.ephemeral_storage'
K8S_NODE_ALLOCATABLE_MEMORY =
Note:

Stability Level: development

Amount of memory allocatable on the node

'k8s.node.allocatable.memory'
K8S_NODE_ALLOCATABLE_PODS =
Note:

Stability Level: development

Amount of pods allocatable on the node

'k8s.node.allocatable.pods'
K8S_NODE_CPU_TIME =
Note:

Stability Level: development

Total CPU time consumed

Total CPU time consumed by the specific Node on all available CPU cores

'k8s.node.cpu.time'
K8S_NODE_CPU_USAGE =
Note:

Stability Level: development

Node’s CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs

CPU usage of the specific Node on all available CPU cores, averaged over the sample window

'k8s.node.cpu.usage'
K8S_NODE_MEMORY_USAGE =
Note:

Stability Level: development

Memory usage of the Node

Total memory usage of the Node

'k8s.node.memory.usage'
K8S_NODE_NETWORK_ERRORS =
Note:

Stability Level: development

Node network errors

'k8s.node.network.errors'
K8S_NODE_NETWORK_IO =
Note:

Stability Level: development

Network bytes for the Node

'k8s.node.network.io'
K8S_NODE_UPTIME =
Note:

Stability Level: development

The time the Node has been running

Instrumentations SHOULD use a gauge with type double and measure uptime in seconds as a floating point number with the highest precision available. The actual accuracy would depend on the instrumentation and operating system.

'k8s.node.uptime'
K8S_POD_CPU_TIME =
Note:

Stability Level: development

Total CPU time consumed

Total CPU time consumed by the specific Pod on all available CPU cores

'k8s.pod.cpu.time'
K8S_POD_CPU_USAGE =
Note:

Stability Level: development

Pod’s CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs

CPU usage of the specific Pod on all available CPU cores, averaged over the sample window

'k8s.pod.cpu.usage'
K8S_POD_MEMORY_USAGE =
Note:

Stability Level: development

Memory usage of the Pod

Total memory usage of the Pod

'k8s.pod.memory.usage'
K8S_POD_NETWORK_ERRORS =
Note:

Stability Level: development

Pod network errors

'k8s.pod.network.errors'
K8S_POD_NETWORK_IO =
Note:

Stability Level: development

Network bytes for the Pod

'k8s.pod.network.io'
K8S_POD_UPTIME =
Note:

Stability Level: development

The time the Pod has been running

Instrumentations SHOULD use a gauge with type double and measure uptime in seconds as a floating point number with the highest precision available. The actual accuracy would depend on the instrumentation and operating system.

'k8s.pod.uptime'
K8S_REPLICASET_AVAILABLE_PODS =
Note:

Stability Level: development

Total number of available replica pods (ready for at least minReadySeconds) targeted by this replicaset

This metric aligns with the availableReplicas field of the K8s ReplicaSetStatus.

'k8s.replicaset.available_pods'
K8S_REPLICASET_DESIRED_PODS =
Note:

Stability Level: development

Number of desired replica pods in this replicaset

This metric aligns with the replicas field of the K8s ReplicaSetSpec.

'k8s.replicaset.desired_pods'
K8S_REPLICATION_CONTROLLER_AVAILABLE_PODS =
Deprecated.

“Replaced by k8s.replicationcontroller.available_pods.”, “reason”: “renamed”, “renamed_to”: “k8s.replicationcontroller.available_pods”

Note:

Stability Level: development

Deprecated, use k8s.replicationcontroller.available_pods instead.

'k8s.replication_controller.available_pods'
K8S_REPLICATION_CONTROLLER_DESIRED_PODS =
Deprecated.

“Replaced by k8s.replicationcontroller.desired_pods.”, “reason”: “renamed”, “renamed_to”: “k8s.replicationcontroller.desired_pods”

Note:

Stability Level: development

Deprecated, use k8s.replicationcontroller.desired_pods instead.

'k8s.replication_controller.desired_pods'
K8S_REPLICATIONCONTROLLER_AVAILABLE_PODS =
Note:

Stability Level: development

Total number of available replica pods (ready for at least minReadySeconds) targeted by this replication controller

This metric aligns with the availableReplicas field of the K8s ReplicationControllerStatus

'k8s.replicationcontroller.available_pods'
K8S_REPLICATIONCONTROLLER_DESIRED_PODS =
Note:

Stability Level: development

Number of desired replica pods in this replication controller

This metric aligns with the replicas field of the K8s ReplicationControllerSpec

'k8s.replicationcontroller.desired_pods'
K8S_RESOURCEQUOTA_CPU_LIMIT_HARD =
Note:

Stability Level: development

The CPU limits in a specific namespace. The value represents the configured quota limit of the resource in the namespace.

This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.cpu.limit.hard'
K8S_RESOURCEQUOTA_CPU_LIMIT_USED =
Note:

Stability Level: development

The CPU limits in a specific namespace. The value represents the current observed total usage of the resource in the namespace.

This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.cpu.limit.used'
K8S_RESOURCEQUOTA_CPU_REQUEST_HARD =
Note:

Stability Level: development

The CPU requests in a specific namespace. The value represents the configured quota limit of the resource in the namespace.

This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.cpu.request.hard'
K8S_RESOURCEQUOTA_CPU_REQUEST_USED =
Note:

Stability Level: development

The CPU requests in a specific namespace. The value represents the current observed total usage of the resource in the namespace.

This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.cpu.request.used'
K8S_RESOURCEQUOTA_EPHEMERAL_STORAGE_LIMIT_HARD =
Note:

Stability Level: development

The sum of local ephemeral storage limits in the namespace. The value represents the configured quota limit of the resource in the namespace.

This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.ephemeral_storage.limit.hard'
K8S_RESOURCEQUOTA_EPHEMERAL_STORAGE_LIMIT_USED =
Note:

Stability Level: development

The sum of local ephemeral storage limits in the namespace. The value represents the current observed total usage of the resource in the namespace.

This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.ephemeral_storage.limit.used'
K8S_RESOURCEQUOTA_EPHEMERAL_STORAGE_REQUEST_HARD =
Note:

Stability Level: development

The sum of local ephemeral storage requests in the namespace. The value represents the configured quota limit of the resource in the namespace.

This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.ephemeral_storage.request.hard'
K8S_RESOURCEQUOTA_EPHEMERAL_STORAGE_REQUEST_USED =
Note:

Stability Level: development

The sum of local ephemeral storage requests in the namespace. The value represents the current observed total usage of the resource in the namespace.

This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.ephemeral_storage.request.used'
K8S_RESOURCEQUOTA_HUGEPAGE_COUNT_REQUEST_HARD =
Note:

Stability Level: development

The huge page requests in a specific namespace. The value represents the configured quota limit of the resource in the namespace.

This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.hugepage_count.request.hard'
K8S_RESOURCEQUOTA_HUGEPAGE_COUNT_REQUEST_USED =
Note:

Stability Level: development

The huge page requests in a specific namespace. The value represents the current observed total usage of the resource in the namespace.

This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.hugepage_count.request.used'
K8S_RESOURCEQUOTA_MEMORY_LIMIT_HARD =
Note:

Stability Level: development

The memory limits in a specific namespace. The value represents the configured quota limit of the resource in the namespace.

This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.memory.limit.hard'
K8S_RESOURCEQUOTA_MEMORY_LIMIT_USED =
Note:

Stability Level: development

The memory limits in a specific namespace. The value represents the current observed total usage of the resource in the namespace.

This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.memory.limit.used'
K8S_RESOURCEQUOTA_MEMORY_REQUEST_HARD =
Note:

Stability Level: development

The memory requests in a specific namespace. The value represents the configured quota limit of the resource in the namespace.

This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.memory.request.hard'
K8S_RESOURCEQUOTA_MEMORY_REQUEST_USED =
Note:

Stability Level: development

The memory requests in a specific namespace. The value represents the current observed total usage of the resource in the namespace.

This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.memory.request.used'
K8S_RESOURCEQUOTA_OBJECT_COUNT_HARD =
Note:

Stability Level: development

The object count limits in a specific namespace. The value represents the configured quota limit of the resource in the namespace.

This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.object_count.hard'
K8S_RESOURCEQUOTA_OBJECT_COUNT_USED =
Note:

Stability Level: development

The object count limits in a specific namespace. The value represents the current observed total usage of the resource in the namespace.

This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

'k8s.resourcequota.object_count.used'
K8S_RESOURCEQUOTA_PERSISTENTVOLUMECLAIM_COUNT_HARD =
Note:

Stability Level: development

The total number of PersistentVolumeClaims that can exist in the namespace. The value represents the configured quota limit of the resource in the namespace.

This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

The k8s.storageclass.name should be required when a resource quota is defined for a specific storage class.

'k8s.resourcequota.persistentvolumeclaim_count.hard'
K8S_RESOURCEQUOTA_PERSISTENTVOLUMECLAIM_COUNT_USED =
Note:

Stability Level: development

The total number of PersistentVolumeClaims that can exist in the namespace. The value represents the current observed total usage of the resource in the namespace.

This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

The k8s.storageclass.name should be required when a resource quota is defined for a specific storage class.

'k8s.resourcequota.persistentvolumeclaim_count.used'
K8S_RESOURCEQUOTA_STORAGE_REQUEST_HARD =
Note:

Stability Level: development

The storage requests in a specific namespace. The value represents the configured quota limit of the resource in the namespace.

This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

The k8s.storageclass.name should be required when a resource quota is defined for a specific storage class.

'k8s.resourcequota.storage.request.hard'
K8S_RESOURCEQUOTA_STORAGE_REQUEST_USED =
Note:

Stability Level: development

The storage requests in a specific namespace. The value represents the current observed total usage of the resource in the namespace.

This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

The k8s.storageclass.name should be required when a resource quota is defined for a specific storage class.

'k8s.resourcequota.storage.request.used'
K8S_STATEFULSET_CURRENT_PODS =
Note:

Stability Level: development

The number of replica pods created by the statefulset controller from the statefulset version indicated by currentRevision

This metric aligns with the currentReplicas field of the K8s StatefulSetStatus.

'k8s.statefulset.current_pods'
K8S_STATEFULSET_DESIRED_PODS =
Note:

Stability Level: development

Number of desired replica pods in this statefulset

This metric aligns with the replicas field of the K8s StatefulSetSpec.

'k8s.statefulset.desired_pods'
K8S_STATEFULSET_READY_PODS =
Note:

Stability Level: development

The number of replica pods created for this statefulset with a Ready Condition

This metric aligns with the readyReplicas field of the K8s StatefulSetStatus.

'k8s.statefulset.ready_pods'
K8S_STATEFULSET_UPDATED_PODS =
Note:

Stability Level: development

Number of replica pods created by the statefulset controller from the statefulset version indicated by updateRevision

This metric aligns with the updatedReplicas field of the K8s StatefulSetStatus.

'k8s.statefulset.updated_pods'

Attribute Names collapse

K8S_CONTAINER_RESTART_COUNT =
Note:

Stability Level: development

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.restart_count'
K8S_CONTAINER_STATUS_REASON =
Note:

Stability Level: development

The reason for the container state. Corresponds to the reason field of the: K8s ContainerStateWaiting or K8s ContainerStateTerminated

Examples:

Sample Values

ContainerCreating
CrashLoopBackOff
CreateContainerConfigError
ErrImagePull
ImagePullBackOff
OOMKilled
Completed
Error
ContainerCannotRun
'k8s.container.status.reason'
K8S_CONTAINER_STATUS_STATE =
Note:

Stability Level: development

The state of the container. K8s ContainerState

Examples:

Sample Values

terminated
running
waiting
'k8s.container.status.state'
K8S_NAMESPACE_PHASE =
Note:

Stability Level: development

The phase of the K8s namespace.

This attribute aligns with the phase field of the K8s NamespaceStatus

Examples:

Sample Values

active
terminating
'k8s.namespace.phase'
K8S_NODE_CONDITION_STATUS =
Note:

Stability Level: development

The status of the condition, one of True, False, Unknown.

This attribute aligns with the status field of the NodeCondition

Examples:

Sample Values

true
false
unknown
'k8s.node.condition.status'
K8S_CLUSTER_NAME =
Note:

Stability Level: development

The name of the cluster.

Examples:

Sample Values

opentelemetry-cluster
'k8s.cluster.name'
K8S_CLUSTER_UID =
Note:

Stability Level: development

A pseudo-ID for the cluster, set to the UID of the kube-system namespace.

K8s doesn’t have support for obtaining a cluster ID. If this is ever added, we will recommend collecting the k8s.cluster.uid through the official APIs. In the meantime, we are able to use the uid of the kube-system namespace 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-system namespace is used by Kubernetes itself and will exist for the lifetime of the cluster. Using the uid of the kube-system namespace 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.

Examples:

Sample Values

218fc5a9-a5f1-4b54-aa05-46717d0ab26d
'k8s.cluster.uid'
K8S_CONTAINER_NAME =
Note:

Stability Level: development

The name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name).

Examples:

Sample Values

redis
'k8s.container.name'
K8S_CONTAINER_STATUS_LAST_TERMINATED_REASON =
Note:

Stability Level: development

Last terminated reason of the Container.

Examples:

Sample Values

Evicted
Error
'k8s.container.status.last_terminated_reason'
K8S_CRONJOB_ANNOTATION_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The cronjob annotation placed on the CronJob, the <key> being the annotation name, the value being the annotation value.

Examples:

  • An annotation retries with value 4 SHOULD be recorded as the k8s.cronjob.annotation.retries attribute with value "4".
  • An annotation data with empty string value SHOULD be recorded as the k8s.cronjob.annotation.data attribute with value "".

Examples:

Usage

K8S_CRONJOB_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.cronjob.annotation.some-cool-key'

Sample Values

4
->(key) { "k8s.cronjob.annotation.#{key}" }
K8S_CRONJOB_LABEL_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The label placed on the CronJob, the <key> being the label name, the value being the label value.

Examples:

  • A label type with value weekly SHOULD be recorded as the k8s.cronjob.label.type attribute with value "weekly".
  • A label automated with empty string value SHOULD be recorded as the k8s.cronjob.label.automated attribute with value "".

Examples:

Usage

K8S_CRONJOB_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.cronjob.label.some-cool-key'

Sample Values

weekly
->(key) { "k8s.cronjob.label.#{key}" }
K8S_CRONJOB_NAME =
Note:

Stability Level: development

The name of the CronJob.

Examples:

Sample Values

opentelemetry
'k8s.cronjob.name'
K8S_CRONJOB_UID =
Note:

Stability Level: development

The UID of the CronJob.

Examples:

Sample Values

275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
'k8s.cronjob.uid'
K8S_DAEMONSET_ANNOTATION_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The annotation placed on the DaemonSet, the <key> being the annotation name, the value being the annotation value, even if the value is empty.

Examples:

  • A label replicas with value 1 SHOULD be recorded as the k8s.daemonset.annotation.replicas attribute with value "1".
  • A label data with empty string value SHOULD be recorded as the k8s.daemonset.annotation.data attribute with value "".

Examples:

Usage

K8S_DAEMONSET_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.daemonset.annotation.some-cool-key'

Sample Values

1
->(key) { "k8s.daemonset.annotation.#{key}" }
K8S_DAEMONSET_LABEL_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The label placed on the DaemonSet, the <key> being the label name, the value being the label value, even if the value is empty.

Examples:

  • A label app with value guestbook SHOULD be recorded as the k8s.daemonset.label.app attribute with value "guestbook".
  • A label data with empty string value SHOULD be recorded as the k8s.daemonset.label.injected attribute with value "".

Examples:

Usage

K8S_DAEMONSET_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.daemonset.label.some-cool-key'

Sample Values

guestbook
->(key) { "k8s.daemonset.label.#{key}" }
K8S_DAEMONSET_NAME =
Note:

Stability Level: development

The name of the DaemonSet.

Examples:

Sample Values

opentelemetry
'k8s.daemonset.name'
K8S_DAEMONSET_UID =
Note:

Stability Level: development

The UID of the DaemonSet.

Examples:

Sample Values

275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
'k8s.daemonset.uid'
K8S_DEPLOYMENT_ANNOTATION_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The annotation placed on the Deployment, the <key> being the annotation name, the value being the annotation value, even if the value is empty.

Examples:

  • A label replicas with value 1 SHOULD be recorded as the k8s.deployment.annotation.replicas attribute with value "1".
  • A label data with empty string value SHOULD be recorded as the k8s.deployment.annotation.data attribute with value "".

Examples:

Usage

K8S_DEPLOYMENT_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.deployment.annotation.some-cool-key'

Sample Values

1
->(key) { "k8s.deployment.annotation.#{key}" }
K8S_DEPLOYMENT_LABEL_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The label placed on the Deployment, the <key> being the label name, the value being the label value, even if the value is empty.

Examples:

  • A label replicas with value 0 SHOULD be recorded as the k8s.deployment.label.app attribute with value "guestbook".
  • A label injected with empty string value SHOULD be recorded as the k8s.deployment.label.injected attribute with value "".

Examples:

Usage

K8S_DEPLOYMENT_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.deployment.label.some-cool-key'

Sample Values

guestbook
->(key) { "k8s.deployment.label.#{key}" }
K8S_DEPLOYMENT_NAME =
Note:

Stability Level: development

The name of the Deployment.

Examples:

Sample Values

opentelemetry
'k8s.deployment.name'
K8S_DEPLOYMENT_UID =
Note:

Stability Level: development

The UID of the Deployment.

Examples:

Sample Values

275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
'k8s.deployment.uid'
K8S_HPA_METRIC_TYPE =
Note:

Stability Level: development

The type of metric source for the horizontal pod autoscaler.

This attribute reflects the type field of spec.metrics[] in the HPA.

Examples:

Sample Values

Resource
ContainerResource
'k8s.hpa.metric.type'
K8S_HPA_NAME =
Note:

Stability Level: development

The name of the horizontal pod autoscaler.

Examples:

Sample Values

opentelemetry
'k8s.hpa.name'
K8S_HPA_SCALETARGETREF_API_VERSION =
Note:

Stability Level: development

The API version of the target resource to scale for the HorizontalPodAutoscaler.

This maps to the apiVersion field in the scaleTargetRef of the HPA spec.

Examples:

Sample Values

apps/v1
autoscaling/v2
'k8s.hpa.scaletargetref.api_version'
K8S_HPA_SCALETARGETREF_KIND =
Note:

Stability Level: development

The kind of the target resource to scale for the HorizontalPodAutoscaler.

This maps to the kind field in the scaleTargetRef of the HPA spec.

Examples:

Sample Values

Deployment
StatefulSet
'k8s.hpa.scaletargetref.kind'
K8S_HPA_SCALETARGETREF_NAME =
Note:

Stability Level: development

The name of the target resource to scale for the HorizontalPodAutoscaler.

This maps to the name field in the scaleTargetRef of the HPA spec.

Examples:

Sample Values

my-deployment
my-statefulset
'k8s.hpa.scaletargetref.name'
K8S_HPA_UID =
Note:

Stability Level: development

The UID of the horizontal pod autoscaler.

Examples:

Sample Values

275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
'k8s.hpa.uid'
K8S_HUGEPAGE_SIZE =
Note:

Stability Level: development

The size (identifier) of the K8s huge page.

Examples:

Sample Values

2Mi
'k8s.hugepage.size'
K8S_JOB_ANNOTATION_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The annotation placed on the Job, the <key> being the annotation name, the value being the annotation value, even if the value is empty.

Examples:

  • A label number with value 1 SHOULD be recorded as the k8s.job.annotation.number attribute with value "1".
  • A label data with empty string value SHOULD be recorded as the k8s.job.annotation.data attribute with value "".

Examples:

Usage

K8S_JOB_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.job.annotation.some-cool-key'

Sample Values

1
->(key) { "k8s.job.annotation.#{key}" }
K8S_JOB_LABEL_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The label placed on the Job, the <key> being the label name, the value being the label value, even if the value is empty.

Examples:

  • A label jobtype with value ci SHOULD be recorded as the k8s.job.label.jobtype attribute with value "ci".
  • A label data with empty string value SHOULD be recorded as the k8s.job.label.automated attribute with value "".

Examples:

Usage

K8S_JOB_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.job.label.some-cool-key'

Sample Values

ci
->(key) { "k8s.job.label.#{key}" }
K8S_JOB_NAME =
Note:

Stability Level: development

The name of the Job.

Examples:

Sample Values

opentelemetry
'k8s.job.name'
K8S_JOB_UID =
Note:

Stability Level: development

The UID of the Job.

Examples:

Sample Values

275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
'k8s.job.uid'
K8S_NAMESPACE_ANNOTATION_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The annotation placed on the Namespace, the <key> being the annotation name, the value being the annotation value, even if the value is empty.

Examples:

  • A label ttl with value 0 SHOULD be recorded as the k8s.namespace.annotation.ttl attribute with value "0".
  • A label data with empty string value SHOULD be recorded as the k8s.namespace.annotation.data attribute with value "".

Examples:

Usage

K8S_NAMESPACE_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.namespace.annotation.some-cool-key'

Sample Values

0
->(key) { "k8s.namespace.annotation.#{key}" }
K8S_NAMESPACE_LABEL_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The label placed on the Namespace, the <key> being the label name, the value being the label value, even if the value is empty.

Examples:

  • A label kubernetes.io/metadata.name with value default SHOULD be recorded as the k8s.namespace.label.kubernetes.io/metadata.name attribute with value "default".
  • A label data with empty string value SHOULD be recorded as the k8s.namespace.label.data attribute with value "".

Examples:

Usage

K8S_NAMESPACE_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.namespace.label.some-cool-key'

Sample Values

default
->(key) { "k8s.namespace.label.#{key}" }
K8S_NAMESPACE_NAME =
Note:

Stability Level: development

The name of the namespace that the pod is running in.

Examples:

Sample Values

default
'k8s.namespace.name'
K8S_NODE_ANNOTATION_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The annotation placed on the Node, the <key> being the annotation name, the value being the annotation value, even if the value is empty.

Examples:

  • An annotation node.alpha.kubernetes.io/ttl with value 0 SHOULD be recorded as the k8s.node.annotation.node.alpha.kubernetes.io/ttl attribute with value "0".
  • An annotation data with empty string value SHOULD be recorded as the k8s.node.annotation.data attribute with value "".

Examples:

Usage

K8S_NODE_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.node.annotation.some-cool-key'

Sample Values

0
->(key) { "k8s.node.annotation.#{key}" }
K8S_NODE_CONDITION_TYPE =
Note:

Stability Level: development

The condition type of a K8s Node.

K8s Node conditions as described by K8s documentation.

This attribute aligns with the 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.

Examples:

Sample Values

Ready
DiskPressure
'k8s.node.condition.type'
K8S_NODE_LABEL_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The label placed on the Node, the <key> being the label name, the value being the label value, even if the value is empty.

Examples:

  • A label kubernetes.io/arch with value arm64 SHOULD be recorded as the k8s.node.label.kubernetes.io/arch attribute with value "arm64".
  • A label data with empty string value SHOULD be recorded as the k8s.node.label.data attribute with value "".

Examples:

Usage

K8S_NODE_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.node.label.some-cool-key'

Sample Values

arm64
->(key) { "k8s.node.label.#{key}" }
K8S_NODE_NAME =
Note:

Stability Level: development

The name of the Node.

Examples:

Sample Values

node-1
'k8s.node.name'
K8S_NODE_UID =
Note:

Stability Level: development

The UID of the Node.

Examples:

Sample Values

1eb3a0c6-0477-4080-a9cb-0cb7db65c6a2
'k8s.node.uid'
K8S_POD_ANNOTATION_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The annotation placed on the Pod, the <key> being the annotation name, the value being the annotation value.

Examples:

  • An annotation kubernetes.io/enforce-mountable-secrets with value true SHOULD be recorded as the k8s.pod.annotation.kubernetes.io/enforce-mountable-secrets attribute with value "true".
  • An annotation mycompany.io/arch with value x64 SHOULD be recorded as the k8s.pod.annotation.mycompany.io/arch attribute with value "x64".
  • An annotation data with empty string value SHOULD be recorded as the k8s.pod.annotation.data attribute with value "".

Examples:

Usage

K8S_POD_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.pod.annotation.some-cool-key'

Sample Values

true
x64
->(key) { "k8s.pod.annotation.#{key}" }
K8S_POD_LABEL_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The label placed on the Pod, the <key> being the label name, the value being the label value.

Examples:

  • A label app with value my-app SHOULD be recorded as the k8s.pod.label.app attribute with value "my-app".
  • A label mycompany.io/arch with value x64 SHOULD be recorded as the k8s.pod.label.mycompany.io/arch attribute with value "x64".
  • A label data with empty string value SHOULD be recorded as the k8s.pod.label.data attribute with value "".

Examples:

Usage

K8S_POD_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.pod.label.some-cool-key'

Sample Values

my-app
x64
->(key) { "k8s.pod.label.#{key}" }
K8S_POD_LABELS_LAMBDA =
Deprecated.

“Replaced by k8s.pod.label.”, “reason”: “renamed”, “renamed_to”: “k8s.pod.label”

Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

Deprecated, use k8s.pod.label instead.

Examples:

Usage

K8S_POD_LABELS_LAMBDA.call('some-cool-key') #=> 'k8s.pod.labels.some-cool-key'

Sample Values

my-app
->(key) { "k8s.pod.labels.#{key}" }
K8S_POD_NAME =
Note:

Stability Level: development

The name of the Pod.

Examples:

Sample Values

opentelemetry-pod-autoconf
'k8s.pod.name'
K8S_POD_UID =
Note:

Stability Level: development

The UID of the Pod.

Examples:

Sample Values

275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
'k8s.pod.uid'
K8S_REPLICASET_ANNOTATION_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The annotation placed on the ReplicaSet, the <key> being the annotation name, the value being the annotation value, even if the value is empty.

Examples:

  • A label replicas with value 0 SHOULD be recorded as the k8s.replicaset.annotation.replicas attribute with value "0".
  • A label data with empty string value SHOULD be recorded as the k8s.replicaset.annotation.data attribute with value "".

Examples:

Usage

K8S_REPLICASET_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.replicaset.annotation.some-cool-key'

Sample Values

0
->(key) { "k8s.replicaset.annotation.#{key}" }
K8S_REPLICASET_LABEL_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The label placed on the ReplicaSet, the <key> being the label name, the value being the label value, even if the value is empty.

Examples:

  • A label app with value guestbook SHOULD be recorded as the k8s.replicaset.label.app attribute with value "guestbook".
  • A label injected with empty string value SHOULD be recorded as the k8s.replicaset.label.injected attribute with value "".

Examples:

Usage

K8S_REPLICASET_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.replicaset.label.some-cool-key'

Sample Values

guestbook
->(key) { "k8s.replicaset.label.#{key}" }
K8S_REPLICASET_NAME =
Note:

Stability Level: development

The name of the ReplicaSet.

Examples:

Sample Values

opentelemetry
'k8s.replicaset.name'
K8S_REPLICASET_UID =
Note:

Stability Level: development

The UID of the ReplicaSet.

Examples:

Sample Values

275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
'k8s.replicaset.uid'
K8S_REPLICATIONCONTROLLER_NAME =
Note:

Stability Level: development

The name of the replication controller.

Examples:

Sample Values

opentelemetry
'k8s.replicationcontroller.name'
K8S_REPLICATIONCONTROLLER_UID =
Note:

Stability Level: development

The UID of the replication controller.

Examples:

Sample Values

275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
'k8s.replicationcontroller.uid'
K8S_RESOURCEQUOTA_NAME =
Note:

Stability Level: development

The name of the resource quota.

Examples:

Sample Values

opentelemetry
'k8s.resourcequota.name'
K8S_RESOURCEQUOTA_RESOURCE_NAME =
Note:

Stability Level: development

The name of the K8s resource a resource quota defines.

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.

Examples:

Sample Values

count/replicationcontrollers
'k8s.resourcequota.resource_name'
K8S_RESOURCEQUOTA_UID =
Note:

Stability Level: development

The UID of the resource quota.

Examples:

Sample Values

275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
'k8s.resourcequota.uid'
K8S_STATEFULSET_ANNOTATION_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The annotation placed on the StatefulSet, the <key> being the annotation name, the value being the annotation value, even if the value is empty.

Examples:

  • A label replicas with value 1 SHOULD be recorded as the k8s.statefulset.annotation.replicas attribute with value "1".
  • A label data with empty string value SHOULD be recorded as the k8s.statefulset.annotation.data attribute with value "".

Examples:

Usage

K8S_STATEFULSET_ANNOTATION_LAMBDA.call('some-cool-key') #=> 'k8s.statefulset.annotation.some-cool-key'

Sample Values

1
->(key) { "k8s.statefulset.annotation.#{key}" }
K8S_STATEFULSET_LABEL_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

The label placed on the StatefulSet, the <key> being the label name, the value being the label value, even if the value is empty.

Examples:

  • A label replicas with value 0 SHOULD be recorded as the k8s.statefulset.label.app attribute with value "guestbook".
  • A label injected with empty string value SHOULD be recorded as the k8s.statefulset.label.injected attribute with value "".

Examples:

Usage

K8S_STATEFULSET_LABEL_LAMBDA.call('some-cool-key') #=> 'k8s.statefulset.label.some-cool-key'

Sample Values

guestbook
->(key) { "k8s.statefulset.label.#{key}" }
K8S_STATEFULSET_NAME =
Note:

Stability Level: development

The name of the StatefulSet.

Examples:

Sample Values

opentelemetry
'k8s.statefulset.name'
K8S_STATEFULSET_UID =
Note:

Stability Level: development

The UID of the StatefulSet.

Examples:

Sample Values

275ecb36-5aa8-4c2a-9c47-d8bb681b9aff
'k8s.statefulset.uid'
K8S_STORAGECLASS_NAME =
Note:

Stability Level: development

The name of K8s StorageClass object.

Examples:

Sample Values

gold.storageclass.storage.k8s.io
'k8s.storageclass.name'
K8S_VOLUME_NAME =
Note:

Stability Level: development

The name of the K8s volume.

Examples:

Sample Values

volume0
'k8s.volume.name'
K8S_VOLUME_TYPE =
Note:

Stability Level: development

The type of the K8s volume.

Examples:

Sample Values

emptyDir
persistentVolumeClaim
'k8s.volume.type'