semantic-conventions/docs/system/k8s-metrics.md

12 KiB

Semantic Conventions for Kubernetes Metrics

Status: Experimental

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.

Metric: k8s.pod.cpu.time

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
k8s.pod.cpu.time Counter s Total CPU time consumed [1] Experimental

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

Metric: k8s.pod.cpu.usage

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
k8s.pod.cpu.usage Gauge {cpu} Pod's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs [1] Experimental

[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.

Name Instrument Type Unit (UCUM) Description Stability
k8s.pod.memory.usage Gauge By Memory usage of the Pod [1] Experimental

[1]: Total memory usage of the Pod

Metric: k8s.pod.network.io

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
k8s.pod.network.io Counter By Network bytes for the Pod Experimental
Attribute Type Description Examples Requirement Level Stability
network.interface.name string The network interface name. lo; eth0 Recommended Experimental
network.io.direction string The network IO operation direction. transmit Recommended Experimental

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.

Value Description Stability
receive receive Experimental
transmit transmit Experimental

Metric: k8s.pod.network.errors

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
k8s.pod.network.errors Counter {error} Pod network errors Experimental
Attribute Type Description Examples Requirement Level Stability
network.interface.name string The network interface name. lo; eth0 Recommended Experimental
network.io.direction string The network IO operation direction. transmit Recommended Experimental

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.

Value Description Stability
receive receive Experimental
transmit transmit Experimental

Metric: k8s.node.cpu.time

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
k8s.node.cpu.time Counter s Total CPU time consumed [1] Experimental

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

Metric: k8s.node.cpu.usage

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
k8s.node.cpu.usage Gauge {cpu} Node's CPU usage, measured in cpus. Range from 0 to the number of allocatable CPUs [1] Experimental

[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.

Name Instrument Type Unit (UCUM) Description Stability
k8s.node.memory.usage Gauge By Memory usage of the Node [1] Experimental

[1]: Total memory usage of the Node

Metric: k8s.node.network.io

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
k8s.node.network.io Counter By Network bytes for the Node Experimental
Attribute Type Description Examples Requirement Level Stability
network.interface.name string The network interface name. lo; eth0 Recommended Experimental
network.io.direction string The network IO operation direction. transmit Recommended Experimental

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.

Value Description Stability
receive receive Experimental
transmit transmit Experimental

Metric: k8s.node.network.errors

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
k8s.node.network.errors Counter {error} Node network errors Experimental
Attribute Type Description Examples Requirement Level Stability
network.interface.name string The network interface name. lo; eth0 Recommended Experimental
network.io.direction string The network IO operation direction. transmit Recommended Experimental

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.

Value Description Stability
receive receive Experimental
transmit transmit Experimental