Semantic conventions for Kubernetes metrics

Status: Development

K8s metrics

This document describes instruments and attributes for common K8s level metrics in OpenTelemetry. These metrics are collected from technology-specific, well-defined APIs (e.g. Kubelet’s API).

Metrics in k8s. instruments SHOULD be attached to a K8s Resource and therefore inherit its attributes, like k8s.pod.name and k8s.pod.uid.

Pod metrics

Description: Pod level metrics captured under the namespace k8s.pod.

Metric: k8s.pod.uptime

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.uptimeGaugesThe time the Pod has been running. [1]Developmentk8s.pod

[1]: 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.

Metric: k8s.pod.phase

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.status.phaseUpDownCounter{pod}Describes number of K8s Pods that are currently in a given phase. [1]Developmentk8s.pod

[1]: All possible pod phases will be reported at each time interval to avoid missing metrics. Only the value corresponding to the current phase will be non-zero.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.pod.status.phaseDevelopmentRequiredstringThe phase for the pod. Corresponds to the phase field of the: K8s PodStatusPending; Running

k8s.pod.status.phase has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
FailedAll containers in the pod have terminated, and at least one container has terminated in a failure (exited with a non-zero exit code or was stopped by the system).Development
PendingThe pod has been accepted by the system, but one or more of the containers has not been started. This includes time before being bound to a node, as well as time spent pulling images onto the host.Development
RunningThe pod has been bound to a node and all of the containers have been started. At least one container is still running or is in the process of being restarted.Development
SucceededAll containers in the pod have voluntarily terminated with a container exit code of 0, and the system is not going to restart any of these containers.Development
UnknownFor some reason the state of the pod could not be obtained, typically due to an error in communicating with the host of the pod.Development

Metric: k8s.pod.status.reason

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.status.reasonUpDownCounter{pod}Describes the number of K8s Pods that are currently in a state for a given reason. [1]Developmentk8s.pod

[1]: All possible pod status reasons will be reported at each time interval to avoid missing metrics. Only the value corresponding to the current reason will be non-zero.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.pod.status.reasonDevelopmentRequiredstringThe reason for the pod state. Corresponds to the reason field of the: K8s PodStatusEvicted; NodeAffinity

k8s.pod.status.reason has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
EvictedThe pod is evicted.Development
NodeAffinityThe pod is in a status because of its node affinityDevelopment
NodeLostThe reason on a pod when its state cannot be confirmed as kubelet is unresponsive on the node it is (was) running.Development
ShutdownThe node is shutdownDevelopment
UnexpectedAdmissionErrorThe pod was rejected admission to the node because of an error during admission that could not be categorized.Development

Metric: k8s.pod.cpu.time

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.cpu.timeCountersTotal CPU time consumed. [1]Developmentk8s.pod

[1]: Total CPU time consumed by the specific Pod on all available CPU cores

Metric: k8s.pod.cpu.usage

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.cpu.usageGauge{cpu}Pod’s CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs. [1]Development

[1]: CPU usage of the specific Pod on all available CPU cores, averaged over the sample window

Metric: k8s.pod.memory.usage

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.memory.usageGaugeByMemory usage of the Pod. [1]Developmentk8s.pod

[1]: Total memory usage of the Pod

Metric: k8s.pod.memory.available

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.memory.availableUpDownCounterByPod memory available. [1]Developmentk8s.pod

[1]: Available memory for use. This is defined as the memory limit - workingSetBytes. If memory limit is undefined, the available bytes is omitted. This metric is derived from the MemoryStats.AvailableBytes field of the PodStats.Memory of the Kubelet’s stats API.

Metric: k8s.pod.memory.rss

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.memory.rssUpDownCounterByPod memory RSS. [1]Developmentk8s.pod

[1]: The amount of anonymous and swap cache memory (includes transparent hugepages). This metric is derived from the MemoryStats.RSSBytes field of the PodStats.Memory of the Kubelet’s stats API.

Metric: k8s.pod.memory.working_set

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.memory.working_setUpDownCounterByPod memory working set. [1]Developmentk8s.pod

[1]: The amount of working set memory. This includes recently accessed memory, dirty memory, and kernel memory. WorkingSetBytes is <= UsageBytes. This metric is derived from the MemoryStats.WorkingSetBytes field of the PodStats.Memory of the Kubelet’s stats API.

Metric: k8s.pod.memory.paging.faults

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.memory.paging.faultsCounter{fault}Pod memory paging faults. [1]Developmentk8s.pod

[1]: Cumulative number of major/minor page faults. This metric is derived from the MemoryStats.PageFaults and MemoryStats.MajorPageFaults field of the PodStats.Memory of the Kubelet’s stats API.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.paging.fault.typeDevelopmentRecommendedstringThe paging fault typeminor

system.paging.fault.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
majormajorDevelopment
minorminorDevelopment

Metric: k8s.pod.network.io

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.network.ioCounterByNetwork bytes for the Pod.Developmentk8s.pod

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
network.interface.nameDevelopmentRecommendedstringThe network interface name.lo; eth0
network.io.directionDevelopmentRecommendedstringThe network IO operation direction.transmit

network.io.direction has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
receivereceiveDevelopment
transmittransmitDevelopment

Metric: k8s.pod.network.errors

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.network.errorsCounter{error}Pod network errors.Developmentk8s.pod

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
network.interface.nameDevelopmentRecommendedstringThe network interface name.lo; eth0
network.io.directionDevelopmentRecommendedstringThe network IO operation direction.transmit

network.io.direction has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
receivereceiveDevelopment
transmittransmitDevelopment

Metric: k8s.pod.filesystem.available

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.filesystem.availableUpDownCounterByPod filesystem available bytes. [1]Developmentk8s.pod

[1]: This metric is derived from the FsStats.AvailableBytes field of the PodStats.EphemeralStorage of the Kubelet’s stats API.

Metric: k8s.pod.filesystem.capacity

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.filesystem.capacityUpDownCounterByPod filesystem capacity. [1]Developmentk8s.pod

[1]: This metric is derived from the FsStats.CapacityBytes field of the PodStats.EphemeralStorage of the Kubelet’s stats API.

Metric: k8s.pod.filesystem.usage

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.filesystem.usageUpDownCounterByPod filesystem usage. [1]Developmentk8s.pod

[1]: This may not equal capacity - available.

This metric is derived from the FsStats.UsedBytes field of the PodStats.EphemeralStorage of the Kubelet’s stats API.

Metric: k8s.pod.volume.available

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.volume.availableUpDownCounterByPod volume storage space available. [1]Developmentk8s.pod

[1]: This metric is derived from the VolumeStats.AvailableBytes field of the PodStats of the Kubelet’s stats API.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.volume.nameDevelopmentRequiredstringThe name of the K8s volume.volume0
k8s.volume.typeDevelopmentRecommendedstringThe type of the K8s volume.emptyDir; persistentVolumeClaim

k8s.volume.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
configMapA configMap volumeDevelopment
downwardAPIA downwardAPI volumeDevelopment
emptyDirAn emptyDir volumeDevelopment
localA local volumeDevelopment
persistentVolumeClaimA persistentVolumeClaim volumeDevelopment
secretA secret volumeDevelopment

Metric: k8s.pod.volume.capacity

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.volume.capacityUpDownCounterByPod volume total capacity. [1]Developmentk8s.pod

[1]: This metric is derived from the VolumeStats.CapacityBytes field of the PodStats of the Kubelet’s stats API.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.volume.nameDevelopmentRequiredstringThe name of the K8s volume.volume0
k8s.volume.typeDevelopmentRecommendedstringThe type of the K8s volume.emptyDir; persistentVolumeClaim

k8s.volume.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
configMapA configMap volumeDevelopment
downwardAPIA downwardAPI volumeDevelopment
emptyDirAn emptyDir volumeDevelopment
localA local volumeDevelopment
persistentVolumeClaimA persistentVolumeClaim volumeDevelopment
secretA secret volumeDevelopment

Metric: k8s.pod.volume.usage

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.volume.usageUpDownCounterByPod volume usage. [1]Developmentk8s.pod

[1]: This may not equal capacity - available.

This metric is derived from the VolumeStats.UsedBytes field of the PodStats of the Kubelet’s stats API.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.volume.nameDevelopmentRequiredstringThe name of the K8s volume.volume0
k8s.volume.typeDevelopmentRecommendedstringThe type of the K8s volume.emptyDir; persistentVolumeClaim

k8s.volume.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
configMapA configMap volumeDevelopment
downwardAPIA downwardAPI volumeDevelopment
emptyDirAn emptyDir volumeDevelopment
localA local volumeDevelopment
persistentVolumeClaimA persistentVolumeClaim volumeDevelopment
secretA secret volumeDevelopment

Metric: k8s.pod.volume.inode.count

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.volume.inode.countUpDownCounter{inode}The total inodes in the filesystem of the Pod’s volume. [1]Developmentk8s.pod

[1]: This metric is derived from the VolumeStats.Inodes field of the PodStats of the Kubelet’s stats API.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.volume.nameDevelopmentRequiredstringThe name of the K8s volume.volume0
k8s.volume.typeDevelopmentRecommendedstringThe type of the K8s volume.emptyDir; persistentVolumeClaim

k8s.volume.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
configMapA configMap volumeDevelopment
downwardAPIA downwardAPI volumeDevelopment
emptyDirAn emptyDir volumeDevelopment
localA local volumeDevelopment
persistentVolumeClaimA persistentVolumeClaim volumeDevelopment
secretA secret volumeDevelopment

Metric: k8s.pod.volume.inode.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.volume.inode.usedUpDownCounter{inode}The inodes used by the filesystem of the Pod’s volume. [1]Developmentk8s.pod

[1]: This metric is derived from the VolumeStats.InodesUsed field of the PodStats of the Kubelet’s stats API.

This may not be equal to inodes - free because filesystem may share inodes with other filesystems.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.volume.nameDevelopmentRequiredstringThe name of the K8s volume.volume0
k8s.volume.typeDevelopmentRecommendedstringThe type of the K8s volume.emptyDir; persistentVolumeClaim

k8s.volume.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
configMapA configMap volumeDevelopment
downwardAPIA downwardAPI volumeDevelopment
emptyDirAn emptyDir volumeDevelopment
localA local volumeDevelopment
persistentVolumeClaimA persistentVolumeClaim volumeDevelopment
secretA secret volumeDevelopment

Metric: k8s.pod.volume.inode.free

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.pod.volume.inode.freeUpDownCounter{inode}The free inodes in the filesystem of the Pod’s volume. [1]Developmentk8s.pod

[1]: This metric is derived from the VolumeStats.InodesFree field of the PodStats of the Kubelet’s stats API.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.volume.nameDevelopmentRequiredstringThe name of the K8s volume.volume0
k8s.volume.typeDevelopmentRecommendedstringThe type of the K8s volume.emptyDir; persistentVolumeClaim

k8s.volume.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
configMapA configMap volumeDevelopment
downwardAPIA downwardAPI volumeDevelopment
emptyDirAn emptyDir volumeDevelopment
localA local volumeDevelopment
persistentVolumeClaimA persistentVolumeClaim volumeDevelopment
secretA secret volumeDevelopment

Container metrics

Description: Container level metrics captured under the namespace k8s.container.

Metric: k8s.container.status.state

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.container.status.stateUpDownCounter{container}Describes the number of K8s containers that are currently in a given state. [1]Developmentk8s.container

[1]: All possible container states will be reported at each time interval to avoid missing metrics. Only the value corresponding to the current state will be non-zero.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.container.status.stateDevelopmentRequiredstringThe state of the container. K8s ContainerStateterminated; running; waiting

k8s.container.status.state has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
runningThe container is running.Development
terminatedThe container has terminated.Development
waitingThe container is waiting.Development

Metric: k8s.container.status.reason

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.container.status.reasonUpDownCounter{container}Describes the number of K8s containers that are currently in a state for a given reason. [1]Developmentk8s.container

[1]: All possible container state reasons will be reported at each time interval to avoid missing metrics. Only the value corresponding to the current state reason will be non-zero.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.container.status.reasonDevelopmentRequiredstringThe reason for the container state. Corresponds to the reason field of the: K8s ContainerStateWaiting or K8s ContainerStateTerminatedContainerCreating; CrashLoopBackOff; CreateContainerConfigError; ErrImagePull; ImagePullBackOff; OOMKilled; Completed; Error; ContainerCannotRun

k8s.container.status.reason has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
CompletedThe container has completed execution.Development
ContainerCannotRunThe container cannot run.Development
ContainerCreatingThe container is being created.Development
CrashLoopBackOffThe container is in a crash loop back off state.Development
CreateContainerConfigErrorThere was an error creating the container configuration.Development
ErrImagePullThere was an error pulling the container image.Development
ErrorThere was an error with the container.Development
ImagePullBackOffThe container image pull is in back off state.Development
OOMKilledThe container was killed due to out of memory.Development

Node metrics

Description: Node level metrics captured under the namespace k8s.node.

Metric: k8s.node.uptime

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.uptimeGaugesThe time the Node has been running. [1]Developmentk8s.node

[1]: 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.

Metric: k8s.node.cpu.allocatable

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.cpu.allocatableUpDownCounter{cpu}Amount of cpu allocatable on the node.Developmentk8s.node

Metric: k8s.node.memory.allocatable

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.memory.allocatableUpDownCounterByAmount of memory allocatable on the node.Developmentk8s.node

Metric: k8s.node.ephemeral_storage.allocatable

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.ephemeral_storage.allocatableUpDownCounterByAmount of ephemeral-storage allocatable on the node.Developmentk8s.node

Metric: k8s.node.pod.allocatable

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.pod.allocatableUpDownCounter{pod}Amount of pods allocatable on the node.Developmentk8s.node

Metric: k8s.node.condition.status

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.condition.statusUpDownCounter{node}Describes the condition of a particular Node. [1]Developmentk8s.node

[1]: All possible node condition pairs (type and status) will be reported at each time interval to avoid missing metrics. Condition pairs corresponding to the current conditions’ statuses will be non-zero.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.node.condition.statusDevelopmentRequiredstringThe status of the condition, one of True, False, Unknown. [1]true; false; unknown
k8s.node.condition.typeDevelopmentRequiredstringThe condition type of a K8s Node. [2]Ready; DiskPressure

[1] k8s.node.condition.status: This attribute aligns with the status field of the NodeCondition

[2] k8s.node.condition.type: 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.


k8s.node.condition.status has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
falsecondition_falseDevelopment
truecondition_trueDevelopment
unknowncondition_unknownDevelopment

k8s.node.condition.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
DiskPressurePressure exists on the disk size—that is, if the disk capacity is lowDevelopment
MemoryPressurePressure exists on the node memory—that is, if the node memory is lowDevelopment
NetworkUnavailableThe network for the node is not correctly configuredDevelopment
PIDPressurePressure exists on the processes—that is, if there are too many processes on the nodeDevelopment
ReadyThe node is healthy and ready to accept podsDevelopment

Metric: k8s.node.cpu.time

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.cpu.timeCountersTotal CPU time consumed. [1]Developmentk8s.node

[1]: Total CPU time consumed by the specific Node on all available CPU cores

Metric: k8s.node.cpu.usage

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.cpu.usageGauge{cpu}Node’s CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs. [1]Developmentk8s.node

[1]: CPU usage of the specific Node on all available CPU cores, averaged over the sample window

Metric: k8s.node.memory.usage

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.memory.usageGaugeByMemory usage of the Node. [1]Developmentk8s.node

[1]: Total memory usage of the Node

Metric: k8s.node.memory.available

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.memory.availableUpDownCounterByNode memory available. [1]Developmentk8s.node

[1]: Available memory for use. This is defined as the memory limit - workingSetBytes. If memory limit is undefined, the available bytes is omitted. This metric is derived from the MemoryStats.AvailableBytes field of the NodeStats.Memory of the Kubelet’s stats API.

Metric: k8s.node.memory.rss

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.memory.rssUpDownCounterByNode memory RSS. [1]Developmentk8s.node

[1]: The amount of anonymous and swap cache memory (includes transparent hugepages). This metric is derived from the MemoryStats.RSSBytes field of the NodeStats.Memory of the Kubelet’s stats API.

Metric: k8s.node.memory.working_set

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.memory.working_setUpDownCounterByNode memory working set. [1]Developmentk8s.node

[1]: The amount of working set memory. This includes recently accessed memory, dirty memory, and kernel memory. WorkingSetBytes is <= UsageBytes. This metric is derived from the MemoryStats.WorkingSetBytes field of the NodeStats.Memory of the Kubelet’s stats API.

Metric: k8s.node.memory.paging.faults

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.memory.paging.faultsCounter{fault}Node memory paging faults. [1]Developmentk8s.node

[1]: Cumulative number of major/minor page faults. This metric is derived from the MemoryStats.PageFaults and MemoryStats.MajorPageFaults fields of the NodeStats.Memory of the Kubelet’s stats API.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.paging.fault.typeDevelopmentRecommendedstringThe paging fault typeminor

system.paging.fault.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
majormajorDevelopment
minorminorDevelopment

Metric: k8s.node.network.io

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.network.ioCounterByNetwork bytes for the Node.Developmentk8s.node

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
network.interface.nameDevelopmentRecommendedstringThe network interface name.lo; eth0
network.io.directionDevelopmentRecommendedstringThe network IO operation direction.transmit

network.io.direction has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
receivereceiveDevelopment
transmittransmitDevelopment

Metric: k8s.node.network.errors

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.network.errorsCounter{error}Node network errors.Developmentk8s.node

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
network.interface.nameDevelopmentRecommendedstringThe network interface name.lo; eth0
network.io.directionDevelopmentRecommendedstringThe network IO operation direction.transmit

network.io.direction has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
receivereceiveDevelopment
transmittransmitDevelopment

Metric: k8s.node.filesystem.available

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.filesystem.availableUpDownCounterByNode filesystem available bytes. [1]Developmentk8s.node

[1]: This metric is derived from the FsStats.AvailableBytes field of the NodeStats.Fs of the Kubelet’s stats API.

Metric: k8s.node.filesystem.capacity

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.filesystem.capacityUpDownCounterByNode filesystem capacity. [1]Developmentk8s.node

[1]: This metric is derived from the FsStats.CapacityBytes field of the NodeStats.Fs of the Kubelet’s stats API.

Metric: k8s.node.filesystem.usage

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.node.filesystem.usageUpDownCounterByNode filesystem usage. [1]Developmentk8s.node

[1]: This may not equal capacity - available.

This metric is derived from the FsStats.UsedBytes field of the NodeStats.Fs of the Kubelet’s stats API.

Deployment metrics

Description: Deployment level metrics captured under the namespace k8s.deployment.

Metric: k8s.deployment.pod.desired

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.deployment.pod.desiredUpDownCounter{pod}Number of desired replica pods in this deployment. [1]Developmentk8s.deployment

[1]: This metric aligns with the replicas field of the K8s DeploymentSpec.

Metric: k8s.deployment.pod.available

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.deployment.pod.availableUpDownCounter{pod}Total number of available replica pods (ready for at least minReadySeconds) targeted by this deployment. [1]Developmentk8s.deployment

[1]: This metric aligns with the availableReplicas field of the K8s DeploymentStatus.

ReplicaSet metrics

Description: ReplicaSet level metrics captured under the namespace k8s.replicaset.

Metric: k8s.replicaset.pod.desired

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.replicaset.pod.desiredUpDownCounter{pod}Number of desired replica pods in this replicaset. [1]Developmentk8s.replicaset

[1]: This metric aligns with the replicas field of the K8s ReplicaSetSpec.

Metric: k8s.replicaset.pod.available

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.replicaset.pod.availableUpDownCounter{pod}Total number of available replica pods (ready for at least minReadySeconds) targeted by this replicaset. [1]Developmentk8s.replicaset

[1]: This metric aligns with the availableReplicas field of the K8s ReplicaSetStatus.

ReplicationController metrics

Description: ReplicationController level metrics captured under the namespace k8s.replicationcontroller.

Metric: k8s.replicationcontroller.pod.desired

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.replicationcontroller.pod.desiredUpDownCounter{pod}Number of desired replica pods in this replication controller. [1]Developmentk8s.replicationcontroller

[1]: This metric aligns with the replicas field of the K8s ReplicationControllerSpec

Metric: k8s.replicationcontroller.pod.available

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.replicationcontroller.pod.availableUpDownCounter{pod}Total number of available replica pods (ready for at least minReadySeconds) targeted by this replication controller. [1]Developmentk8s.replicationcontroller

[1]: This metric aligns with the availableReplicas field of the K8s ReplicationControllerStatus

StatefulSet metrics

Description: StatefulSet level metrics captured under the namespace k8s.statefulset.

Metric: k8s.statefulset.pod.desired

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.statefulset.pod.desiredUpDownCounter{pod}Number of desired replica pods in this statefulset. [1]Developmentk8s.statefulset

[1]: This metric aligns with the replicas field of the K8s StatefulSetSpec.

Metric: k8s.statefulset.pod.ready

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.statefulset.pod.readyUpDownCounter{pod}The number of replica pods created for this statefulset with a Ready Condition. [1]Developmentk8s.statefulset

[1]: This metric aligns with the readyReplicas field of the K8s StatefulSetStatus.

Metric: k8s.statefulset.pod.current

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.statefulset.pod.currentUpDownCounter{pod}The number of replica pods created by the statefulset controller from the statefulset version indicated by currentRevision. [1]Developmentk8s.statefulset

[1]: This metric aligns with the currentReplicas field of the K8s StatefulSetStatus.

Metric: k8s.statefulset.pod.updated

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.statefulset.pod.updatedUpDownCounter{pod}Number of replica pods created by the statefulset controller from the statefulset version indicated by updateRevision. [1]Developmentk8s.statefulset

[1]: This metric aligns with the updatedReplicas field of the K8s StatefulSetStatus.

HorizontalPodAutoscaler metrics

Description: HorizontalPodAutoscaler level metrics captured under the namespace k8s.hpa.

Metric: k8s.hpa.pod.desired

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.hpa.pod.desiredUpDownCounter{pod}Desired number of replica pods managed by this horizontal pod autoscaler, as last calculated by the autoscaler. [1]Developmentk8s.hpa

[1]: This metric aligns with the desiredReplicas field of the K8s HorizontalPodAutoscalerStatus

Metric: k8s.hpa.pod.current

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.hpa.pod.currentUpDownCounter{pod}Current number of replica pods managed by this horizontal pod autoscaler, as last seen by the autoscaler. [1]Developmentk8s.hpa

[1]: This metric aligns with the currentReplicas field of the K8s HorizontalPodAutoscalerStatus

Metric: k8s.hpa.pod.max

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.hpa.pod.maxUpDownCounter{pod}The upper limit for the number of replica pods to which the autoscaler can scale up. [1]Developmentk8s.hpa

[1]: This metric aligns with the maxReplicas field of the K8s HorizontalPodAutoscalerSpec

Metric: k8s.hpa.pod.min

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.hpa.pod.minUpDownCounter{pod}The lower limit for the number of replica pods to which the autoscaler can scale down. [1]Developmentk8s.hpa

[1]: This metric aligns with the minReplicas field of the K8s HorizontalPodAutoscalerSpec

Metric: k8s.hpa.metric.target.cpu.value

This metric is opt-in.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.hpa.metric.target.cpu.valueGauge{cpu}Target value for CPU resource in HPA config. [1]Developmentk8s.hpa; k8s.namespace

[1]: 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.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.container.nameDevelopmentConditionally Required [1]stringThe name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name).redis
k8s.hpa.metric.typeDevelopmentRecommendedstringThe type of metric source for the horizontal pod autoscaler. [2]Resource; ContainerResource

[1] k8s.container.name: if and only if k8s.hpa.metric.type is ContainerResource

[2] k8s.hpa.metric.type: This attribute reflects the type field of spec.metrics[] in the HPA.

Metric: k8s.hpa.metric.target.cpu.average_value

This metric is opt-in.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.hpa.metric.target.cpu.average_valueGauge{cpu}Target average value for CPU resource in HPA config. [1]Developmentk8s.hpa; k8s.namespace

[1]: 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.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.container.nameDevelopmentConditionally Required [1]stringThe name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name).redis
k8s.hpa.metric.typeDevelopmentRecommendedstringThe type of metric source for the horizontal pod autoscaler. [2]Resource; ContainerResource

[1] k8s.container.name: if and only if k8s.hpa.metric.type is ContainerResource

[2] k8s.hpa.metric.type: This attribute reflects the type field of spec.metrics[] in the HPA.

Metric: k8s.hpa.metric.target.cpu.average_utilization

This metric is opt-in.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.hpa.metric.target.cpu.average_utilizationGauge1Target average utilization, in percentage, for CPU resource in HPA config. [1]Developmentk8s.hpa; k8s.namespace

[1]: 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.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.container.nameDevelopmentConditionally Required [1]stringThe name of the Container from Pod specification, must be unique within a Pod. Container runtime usually uses different globally unique name (container.name).redis
k8s.hpa.metric.typeDevelopmentRecommendedstringThe type of metric source for the horizontal pod autoscaler. [2]Resource; ContainerResource

[1] k8s.container.name: if and only if k8s.hpa.metric.type is ContainerResource.

[2] k8s.hpa.metric.type: This attribute reflects the type field of spec.metrics[] in the HPA.

DaemonSet metrics

Description: DaemonSet level metrics captured under the namespace k8s.daemonset.

Metric: k8s.daemonset.node.current_scheduled

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.daemonset.node.current_scheduledUpDownCounter{node}Number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod. [1]Developmentk8s.daemonset

[1]: This metric aligns with the currentNumberScheduled field of the K8s DaemonSetStatus.

Metric: k8s.daemonset.node.desired_scheduled

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.daemonset.node.desired_scheduledUpDownCounter{node}Number of nodes that should be running the daemon pod (including nodes currently running the daemon pod). [1]Developmentk8s.daemonset

[1]: This metric aligns with the desiredNumberScheduled field of the K8s DaemonSetStatus.

Metric: k8s.daemonset.node.misscheduled

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.daemonset.node.misscheduledUpDownCounter{node}Number of nodes that are running the daemon pod, but are not supposed to run the daemon pod. [1]Developmentk8s.daemonset

[1]: This metric aligns with the numberMisscheduled field of the K8s DaemonSetStatus.

Metric: k8s.daemonset.node.ready

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.daemonset.node.readyUpDownCounter{node}Number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready. [1]Developmentk8s.daemonset

[1]: This metric aligns with the numberReady field of the K8s DaemonSetStatus.

Job metrics

Description: Job level metrics captured under the namespace k8s.job.

Metric: k8s.job.pod.active

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.job.pod.activeUpDownCounter{pod}The number of pending and actively running pods for a job. [1]Developmentk8s.job

[1]: This metric aligns with the active field of the K8s JobStatus.

Metric: k8s.job.pod.failed

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.job.pod.failedUpDownCounter{pod}The number of pods which reached phase Failed for a job. [1]Developmentk8s.job

[1]: This metric aligns with the failed field of the K8s JobStatus.

Metric: k8s.job.pod.successful

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.job.pod.successfulUpDownCounter{pod}The number of pods which reached phase Succeeded for a job. [1]Developmentk8s.job

[1]: This metric aligns with the succeeded field of the K8s JobStatus.

Metric: k8s.job.pod.desired_successful

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.job.pod.desired_successfulUpDownCounter{pod}The desired number of successfully finished pods the job should be run with. [1]Developmentk8s.job

[1]: This metric aligns with the completions field of the K8s JobSpec..

Metric: k8s.job.pod.max_parallel

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.job.pod.max_parallelUpDownCounter{pod}The max desired number of pods the job should run at any given time. [1]Developmentk8s.job

[1]: This metric aligns with the parallelism field of the K8s JobSpec.

CronJob metrics

Description: CronJob level metrics captured under the namespace k8s.cronjob.

Metric: k8s.cronjob.job.active

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.cronjob.job.activeUpDownCounter{job}The number of actively running jobs for a cronjob. [1]Developmentk8s.cronjob

[1]: This metric aligns with the active field of the K8s CronJobStatus.

Namespace metrics

Description: Namespace level metrics captured under the namespace k8s.namespace.

Metric: k8s.namespace.phase

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.namespace.phaseUpDownCounter{namespace}Describes number of K8s namespaces that are currently in a given phase.Developmentk8s.namespace

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.namespace.phaseDevelopmentRequiredstringThe phase of the K8s namespace. [1]active; terminating

[1] k8s.namespace.phase: This attribute aligns with the phase field of the K8s NamespaceStatus


k8s.namespace.phase has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
activeActive namespace phase as described by K8s APIDevelopment
terminatingTerminating namespace phase as described by K8s APIDevelopment

K8s Container metrics

Description: K8s Container level metrics captured under the namespace k8s.container.

Metric: k8s.container.cpu.limit_utilization

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.container.cpu.limit_utilizationGauge1The ratio of container CPU usage to its CPU limit. [1]Developmentk8s.container

[1]: The value range is [0.0,1.0]. A value of 1.0 means the container is using 100% of its CPU limit. If the CPU limit is not set, this metric SHOULD NOT be emitted for that container.

Metric: k8s.container.cpu.request_utilization

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.container.cpu.request_utilizationGauge1The ratio of container CPU usage to its CPU request.Developmentk8s.container

Metric: k8s.container.cpu.limit

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.container.cpu.limitUpDownCounter{cpu}Maximum CPU resource limit set for the container. [1]Developmentk8s.container

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

Metric: k8s.container.cpu.request

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.container.cpu.requestUpDownCounter{cpu}CPU resource requested for the container. [1]Developmentk8s.container

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

Metric: k8s.container.memory.limit

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.container.memory.limitUpDownCounterByMaximum memory resource limit set for the container. [1]Developmentk8s.container

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

Metric: k8s.container.memory.request

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.container.memory.requestUpDownCounterByMemory resource requested for the container. [1]Developmentk8s.container

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

Metric: k8s.container.storage.limit

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.container.storage.limitUpDownCounterByMaximum storage resource limit set for the container. [1]Developmentk8s.container

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

Metric: k8s.container.storage.request

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.container.storage.requestUpDownCounterByStorage resource requested for the container. [1]Developmentk8s.container

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

Metric: k8s.container.ephemeral_storage.limit

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.container.ephemeral_storage.limitUpDownCounterByMaximum ephemeral storage resource limit set for the container. [1]Developmentk8s.container

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

Metric: k8s.container.ephemeral_storage.request

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.container.ephemeral_storage.requestUpDownCounterByEphemeral storage resource requested for the container. [1]Developmentk8s.container

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

Metric: k8s.container.restart.count

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.container.restart.countUpDownCounter{restart}Describes how many times the container has restarted (since the last counter reset). [1]Developmentk8s.container

[1]: This value is pulled directly from the K8s API and the value can go indefinitely high and be reset to 0 at any time depending on how your kubelet is configured to prune dead containers. It is best to not depend too much on the exact value but rather look at it as either == 0, in which case you can conclude there were no restarts in the recent past, or > 0, in which case you can conclude there were restarts in the recent past, and not try and analyze the value beyond that.

Metric: k8s.container.ready

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.container.readyUpDownCounter{container}Indicates whether the container is currently marked as ready to accept traffic, based on its readiness probe (1 = ready, 0 = not ready). [1]Developmentk8s.container

[1]: This metric SHOULD reflect the value of the ready field in the K8s ContainerStatus.

Resource Quota metrics

Description: Resource Quota level metrics captured under the namespace k8s.resourcequota.

Metric: k8s.resourcequota.cpu.limit.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.cpu.limit.hardUpDownCounter{cpu}The CPU limits in a specific namespace.
The value represents the configured quota limit of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

Metric: k8s.resourcequota.cpu.limit.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.cpu.limit.usedUpDownCounter{cpu}The CPU limits in a specific namespace.
The value represents the current observed total usage of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

Metric: k8s.resourcequota.cpu.request.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.cpu.request.hardUpDownCounter{cpu}The CPU requests in a specific namespace.
The value represents the configured quota limit of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

Metric: k8s.resourcequota.cpu.request.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.cpu.request.usedUpDownCounter{cpu}The CPU requests in a specific namespace.
The value represents the current observed total usage of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

Metric: k8s.resourcequota.memory.limit.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.memory.limit.hardUpDownCounterByThe memory limits in a specific namespace.
The value represents the configured quota limit of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

Metric: k8s.resourcequota.memory.limit.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.memory.limit.usedUpDownCounterByThe memory limits in a specific namespace.
The value represents the current observed total usage of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

Metric: k8s.resourcequota.memory.request.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.memory.request.hardUpDownCounterByThe memory requests in a specific namespace.
The value represents the configured quota limit of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

Metric: k8s.resourcequota.memory.request.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.memory.request.usedUpDownCounterByThe memory requests in a specific namespace.
The value represents the current observed total usage of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

Metric: k8s.resourcequota.hugepage_count.request.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.hugepage_count.request.hardUpDownCounter{hugepage}The huge page requests in a specific namespace.
The value represents the configured quota limit of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.hugepage.sizeDevelopmentRequiredstringThe size (identifier) of the K8s huge page.2Mi

Metric: k8s.resourcequota.hugepage_count.request.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.hugepage_count.request.usedUpDownCounter{hugepage}The huge page requests in a specific namespace.
The value represents the current observed total usage of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.hugepage.sizeDevelopmentRequiredstringThe size (identifier) of the K8s huge page.2Mi

Metric: k8s.resourcequota.storage.request.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.storage.request.hardUpDownCounterByThe storage requests in a specific namespace.
The value represents the configured quota limit of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: 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.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.storageclass.nameDevelopmentConditionally Required [1]stringThe name of K8s StorageClass object.gold.storageclass.storage.k8s.io

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

Metric: k8s.resourcequota.storage.request.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.storage.request.usedUpDownCounterByThe storage requests in a specific namespace.
The value represents the current observed total usage of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: 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.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.storageclass.nameDevelopmentConditionally Required [1]stringThe name of K8s StorageClass object.gold.storageclass.storage.k8s.io

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

Metric: k8s.resourcequota.persistentvolumeclaim_count.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.persistentvolumeclaim_count.hardUpDownCounter{persistentvolumeclaim}The total number of PersistentVolumeClaims that can exist in the namespace.
The value represents the configured quota limit of the resource in the namespace. [1]Development

[1]: 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.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.storageclass.nameDevelopmentConditionally Required [1]stringThe name of K8s StorageClass object.gold.storageclass.storage.k8s.io

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

Metric: k8s.resourcequota.persistentvolumeclaim_count.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.persistentvolumeclaim_count.usedUpDownCounter{persistentvolumeclaim}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. [1]Development

[1]: 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.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.storageclass.nameDevelopmentConditionally Required [1]stringThe name of K8s StorageClass object.gold.storageclass.storage.k8s.io

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

Metric: k8s.resourcequota.ephemeral_storage.request.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.ephemeral_storage.request.hardUpDownCounterByThe sum of local ephemeral storage requests in the namespace.
The value represents the configured quota limit of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

Metric: k8s.resourcequota.ephemeral_storage.request.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.ephemeral_storage.request.usedUpDownCounterByThe sum of local ephemeral storage requests in the namespace.
The value represents the current observed total usage of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

Metric: k8s.resourcequota.ephemeral_storage.limit.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.ephemeral_storage.limit.hardUpDownCounterByThe sum of local ephemeral storage limits in the namespace.
The value represents the configured quota limit of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

Metric: k8s.resourcequota.ephemeral_storage.limit.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.ephemeral_storage.limit.usedUpDownCounterByThe sum of local ephemeral storage limits in the namespace.
The value represents the current observed total usage of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

Metric: k8s.resourcequota.object_count.hard

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.object_count.hardUpDownCounter{object}The object count limits in a specific namespace.
The value represents the configured quota limit of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the hard field of the K8s ResourceQuotaStatus.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.resourcequota.resource_nameDevelopmentRequiredstringThe name of the K8s resource a resource quota defines. [1]count/replicationcontrollers

[1] k8s.resourcequota.resource_name: 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.

Metric: k8s.resourcequota.object_count.used

This metric is recommended.

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
k8s.resourcequota.object_count.usedUpDownCounter{object}The object count limits in a specific namespace.
The value represents the current observed total usage of the resource in the namespace. [1]Developmentk8s.resourcequota

[1]: This metric is retrieved from the used field of the K8s ResourceQuotaStatus.

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
k8s.resourcequota.resource_nameDevelopmentRequiredstringThe name of the K8s resource a resource quota defines. [1]count/replicationcontrollers

[1] k8s.resourcequota.resource_name: 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.