Semantic Conventions for Container Metrics

Status: Experimental

Container Metrics

Metric: container.cpu.time

This metric is opt-in.

NameInstrument TypeUnit (UCUM)DescriptionStability
container.cpu.timeCountersTotal CPU time consumed [1]Experimental

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

AttributeTypeDescriptionExamplesRequirement LevelStability
container.cpu.statestringThe CPU state for this data point. A container SHOULD be characterized either by data points with no state labels, or only data points with state labels.user; kernelOpt-InExperimental

container.cpu.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
userWhen tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows).Experimental
systemWhen CPU is used by the system (host OS)Experimental
kernelWhen tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel mode (Windows).Experimental

Metric: container.memory.usage

This metric is opt-in.

NameInstrument TypeUnit (UCUM)DescriptionStability
container.memory.usageCounterByMemory usage of the container. [1]Experimental

[1]: Memory usage of the container.

Metric: container.disk.io

This metric is opt-in.

NameInstrument TypeUnit (UCUM)DescriptionStability
container.disk.ioCounterByDisk bytes for the container. [1]Experimental

[1]: The total number of bytes read/written successfully (aggregated from all disks).

AttributeTypeDescriptionExamplesRequirement LevelStability
disk.io.directionstringThe disk IO operation direction.readRecommendedExperimental
system.devicestringThe device identifier(identifier)RecommendedExperimental

disk.io.direction MUST be one of the following:

ValueDescriptionStability
readreadExperimental
writewriteExperimental

Metric: container.network.io

This metric is opt-in.

NameInstrument TypeUnit (UCUM)DescriptionStability
container.network.ioCounterByNetwork bytes for the container. [1]Experimental

[1]: The number of bytes sent/received on all network interfaces by the container.

AttributeTypeDescriptionExamplesRequirement LevelStability
network.io.directionstringThe network IO operation direction.transmitRecommendedExperimental
system.devicestringThe device identifier(identifier)RecommendedExperimental

network.io.direction MUST be one of the following:

ValueDescriptionStability
transmittransmitExperimental
receivereceiveExperimental