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

14 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.uptime

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
k8s.pod.uptime Gauge s The time the Pod has been running [1] Experimental

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

This metric is recommended.

Name Instrument Type Unit (UCUM) Description Stability
k8s.node.uptime Gauge s The time the Node has been running [1] Experimental

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