/* * Copyright The OpenTelemetry Authors * SPDX-License-Identifier: Apache-2.0 */ /* * DO NOT EDIT, this is an Auto-generated file from: * buildscripts/semantic-convention/templates/registry/semantic_attributes-h.j2 */ #pragma once #include "opentelemetry/common/macros.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace semconv { namespace container { /** 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. */ static constexpr const char *kContainerCommand = "container.command"; /** All the command arguments (including the command/executable itself) run by the container. */ static constexpr const char *kContainerCommandArgs = "container.command_args"; /** The full command run by the container as a single string representing the full command. */ static constexpr const char *kContainerCommandLine = "container.command_line"; /** Deprecated, use @code cpu.mode @endcode instead. @deprecated {"note": "Replaced by @code cpu.mode @endcode.", "reason": "renamed", "renamed_to": "cpu.mode"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kContainerCpuState = "container.cpu.state"; /** 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 @code name @endcode field of the GetPluginInfo RPC. */ static constexpr const char *kContainerCsiPluginName = "container.csi.plugin.name"; /** 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 @code Volume.volume_id @endcode field in CSI spec. */ static constexpr const char *kContainerCsiVolumeId = "container.csi.volume.id"; /** Container ID. Usually a UUID, as for example used to identify Docker containers. The UUID might be abbreviated. */ static constexpr const char *kContainerId = "container.id"; /** Runtime specific image identifier. Usually a hash algorithm followed by a UUID.

Docker defines a sha256 of the image id; @code container.image.id @endcode corresponds to the @code Image @endcode field from the Docker container inspect API endpoint. K8s defines a link to the container registry repository with digest @code "imageID": "registry.azurecr.io /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625" @endcode. The ID is assigned by the container runtime and can vary in different environments. Consider using @code oci.manifest.digest @endcode if it is important to identify the same image in different environments/runtimes. */ static constexpr const char *kContainerImageId = "container.image.id"; /** Name of the image the container was built on. */ static constexpr const char *kContainerImageName = "container.image.name"; /** Repo digests of the container image as provided by the container runtime.

Docker and CRI report those under the @code RepoDigests @endcode field. */ static constexpr const char *kContainerImageRepoDigests = "container.image.repo_digests"; /** Container image tags. An example can be found in Docker Image Inspect. Should be only the @code @endcode section of the full name for example from @code registry.example.com/my-org/my-image: @endcode. */ static constexpr const char *kContainerImageTags = "container.image.tags"; /** Container labels, @code @endcode being the label name, the value being the label value.

For example, a docker container label @code app @endcode with value @code nginx @endcode SHOULD be recorded as the @code container.label.app @endcode attribute with value @code "nginx" @endcode. */ static constexpr const char *kContainerLabel = "container.label"; /** Deprecated, use @code container.label @endcode instead. @deprecated {"note": "Replaced by @code container.label @endcode.", "reason": "renamed", "renamed_to": "container.label"} */ OPENTELEMETRY_DEPRECATED static constexpr const char *kContainerLabels = "container.labels"; /** Container name used by container runtime. */ static constexpr const char *kContainerName = "container.name"; /** The container runtime managing this container. */ static constexpr const char *kContainerRuntime = "container.runtime"; namespace ContainerCpuStateValues { /** When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode (Windows). */ static constexpr const char *kUser = "user"; /** When CPU is used by the system (host OS) */ static constexpr const char *kSystem = "system"; /** When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel mode (Windows). */ static constexpr const char *kKernel = "kernel"; } // namespace ContainerCpuStateValues } // namespace container } // namespace semconv OPENTELEMETRY_END_NAMESPACE