Module: OpenTelemetry::SemConv::Incubating::CONTAINER

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

Metrics Names collapse

CONTAINER_CPU_TIME =
Note:

Stability Level: development

Total CPU time consumed.

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

'container.cpu.time'
CONTAINER_CPU_USAGE =
Note:

Stability Level: development

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

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

'container.cpu.usage'
CONTAINER_DISK_IO =
Note:

Stability Level: development

Disk bytes for the container.

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

'container.disk.io'
CONTAINER_FILESYSTEM_AVAILABLE =
Note:

Stability Level: development

Container filesystem available bytes.

In K8s, this metric is derived from the FsStats.AvailableBytes field of the ContainerStats.Rootfs of the Kubelet's stats API.

'container.filesystem.available'
CONTAINER_FILESYSTEM_CAPACITY =
Note:

Stability Level: development

Container filesystem capacity.

In K8s, this metric is derived from the FsStats.CapacityBytes field of the ContainerStats.Rootfs of the Kubelet's stats API.

'container.filesystem.capacity'
CONTAINER_FILESYSTEM_USAGE =
Note:

Stability Level: development

Container filesystem usage.

This may not equal capacity - available.

In K8s, this metric is derived from the FsStats.UsedBytes field of the ContainerStats.Rootfs of the Kubelet's stats API.

'container.filesystem.usage'
CONTAINER_MEMORY_AVAILABLE =
Note:

Stability Level: development

Container memory available.

Available memory for use. This is defined as the memory limit - workingSetBytes. If memory limit is undefined, the available bytes is omitted. In general, this metric can be derived from cadvisor and by subtracting the container_memory_working_set_bytes metric from the container_spec_memory_limit_bytes metric. In K8s, this metric is derived from the MemoryStats.AvailableBytes field of the PodStats.Memory of the Kubelet's stats API.

'container.memory.available'
CONTAINER_MEMORY_PAGING_FAULTS =
Note:

Stability Level: development

Container memory paging faults.

In general, this metric can be derived from cadvisor and specifically the container_memory_failures_total{failure_type=pgfault, scope=container} and container_memory_failures_total{failure_type=pgmajfault, scope=container}metric. In K8s, this metric is derived from the MemoryStats.PageFaults and MemoryStats.MajorPageFaults field of the PodStats.Memory of the Kubelet's stats API.

'container.memory.paging.faults'
CONTAINER_MEMORY_RSS =
Note:

Stability Level: development

Container memory RSS.

In general, this metric can be derived from cadvisor and specifically the container_memory_rss metric. In K8s, this metric is derived from the MemoryStats.RSSBytes field of the PodStats.Memory of the Kubelet's stats API.

'container.memory.rss'
CONTAINER_MEMORY_USAGE =
Note:

Stability Level: development

Memory usage of the container.

Memory usage of the container.

'container.memory.usage'
CONTAINER_MEMORY_WORKING_SET =
Note:

Stability Level: development

Container memory working set.

In general, this metric can be derived from cadvisor and specifically the container_memory_working_set_bytes metric. In K8s, this metric is derived from the MemoryStats.WorkingSetBytes field of the PodStats.Memory of the Kubelet's stats API.

'container.memory.working_set'
CONTAINER_NETWORK_IO =
Note:

Stability Level: development

Network bytes for the container.

The number of bytes sent/received on all network interfaces by the container.

'container.network.io'
CONTAINER_UPTIME =
Note:

Stability Level: development

The time the container 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.

'container.uptime'

Attribute Names collapse

CONTAINER_COMMAND =
Note:

Stability Level: development

The command used to run the container (i.e. the command name).

If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage.

'container.command'
CONTAINER_COMMAND_ARGS =
Note:

Stability Level: development

All the command arguments (including the command/executable itself) run by the container.

'container.command_args'
CONTAINER_COMMAND_LINE =
Note:

Stability Level: development

The full command run by the container as a single string representing the full command.

'container.command_line'
CONTAINER_CPU_STATE =
Deprecated.

Replaced by cpu.mode.

Note:

Stability Level: development

Deprecated, use cpu.mode instead.

'container.cpu.state'
CONTAINER_CSI_PLUGIN_NAME =
Note:

Stability Level: development

The name of the CSI (Container Storage Interface) plugin used by the volume.

This can sometimes be referred to as a "driver" in CSI implementations. This should represent the name field of the GetPluginInfo RPC.

'container.csi.plugin.name'
CONTAINER_CSI_VOLUME_ID =
Note:

Stability Level: development

The unique volume ID returned by the CSI (Container Storage Interface) plugin.

This can sometimes be referred to as a "volume handle" in CSI implementations. This should represent the Volume.volume_id field in CSI spec.

'container.csi.volume.id'
CONTAINER_ID =
Note:

Stability Level: development

Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated.

'container.id'
CONTAINER_IMAGE_ID =
Note:

Stability Level: development

Runtime specific image identifier. Usually a hash algorithm followed by a UUID.

Docker defines a sha256 of the image id; container.image.id corresponds to the Image field from the Docker container inspect API endpoint. K8s defines a link to the container registry repository with digest "imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625". The ID is assigned by the container runtime and can vary in different environments. Consider using oci.manifest.digest if it is important to identify the same image in different environments/runtimes.

'container.image.id'
CONTAINER_IMAGE_NAME =
Note:

Stability Level: development

Name of the image the container was built on.

'container.image.name'
CONTAINER_IMAGE_REPO_DIGESTS =
Note:

Stability Level: development

Repo digests of the container image as provided by the container runtime.

Docker and CRI report those under the RepoDigests field.

'container.image.repo_digests'
CONTAINER_IMAGE_TAGS =
Note:

Stability Level: development

Container image tags. An example can be found in Docker Image Inspect. Should be only the <tag> section of the full name for example from registry.example.com/my-org/my-image:<tag>.

'container.image.tags'
CONTAINER_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.

Container labels, <key> being the label name, the value being the label value.

For example, a docker container label app with value nginx SHOULD be recorded as the container.label.app attribute with value "nginx".

Examples:

Usage

CONTAINER_LABEL_LAMBDA.call('some-cool-key') #=> 'container.label.some-cool-key'
->(key) { "container.label.#{key}" }
CONTAINER_LABELS_LAMBDA =
Deprecated.

Replaced by container.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 container.label instead.

Examples:

Usage

CONTAINER_LABELS_LAMBDA.call('some-cool-key') #=> 'container.labels.some-cool-key'
->(key) { "container.labels.#{key}" }
CONTAINER_NAME =
Note:

Stability Level: development

Container name used by container runtime.

'container.name'
CONTAINER_RUNTIME =
Deprecated.

Replaced by container.runtime.name.

Note:

Stability Level: development

The container runtime managing this container.

'container.runtime'
CONTAINER_RUNTIME_DESCRIPTION =
Note:

Stability Level: development

A description about the runtime which could include, for example details about the CRI/API version being used or other customisations.

'container.runtime.description'
CONTAINER_RUNTIME_NAME =
Note:

Stability Level: development

The container runtime managing this container.

'container.runtime.name'
CONTAINER_RUNTIME_VERSION =
Note:

Stability Level: development

The version of the runtime of this process, as returned by the runtime without modification.

'container.runtime.version'