File: container_attributes.h

package info (click to toggle)
opentelemetry-cpp 1.23.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,372 kB
  • sloc: cpp: 96,239; sh: 1,766; makefile: 36; python: 31
file content (179 lines) | stat: -rw-r--r-- 6,502 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
/*
 * 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).
  <p>
  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 (<a href="https://github.com/container-storage-interface/spec">Container
  Storage Interface</a>) plugin used by the volume. <p> 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 (<a
  href="https://github.com/container-storage-interface/spec">Container Storage Interface</a>)
  plugin. <p> 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 <a
  href="https://docs.docker.com/engine/containers/run/#container-identification">identify Docker
  containers</a>. The UUID might be abbreviated.
 */
static constexpr const char *kContainerId = "container.id";

/**
  Runtime specific image identifier. Usually a hash algorithm followed by a UUID.
  <p>
  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 <a
  href="https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect">API</a>
  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.
  <p>
  <a href="https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect">Docker</a>
  and <a
  href="https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto#L1237-L1238">CRI</a>
  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 <a
  href="https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect">Docker Image
  Inspect</a>. Should be only the @code <tag> @endcode section of the full name for example from
  @code registry.example.com/my-org/my-image:<tag> @endcode.
 */
static constexpr const char *kContainerImageTags = "container.image.tags";

/**
  Container labels, @code <key> @endcode being the label name, the value being the label value.
  <p>
  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.

  @deprecated
  {"note": "Replaced by @code container.runtime.name @endcode.", "reason": "renamed", "renamed_to":
  "container.runtime.name"}
 */
OPENTELEMETRY_DEPRECATED static constexpr const char *kContainerRuntime = "container.runtime";

/**
  A description about the runtime which could include, for example details about the CRI/API version
  being used or other customisations.
 */
static constexpr const char *kContainerRuntimeDescription = "container.runtime.description";

/**
  The container runtime managing this container.
 */
static constexpr const char *kContainerRuntimeName = "container.runtime.name";

/**
  The version of the runtime of this process, as returned by the runtime without modification.
 */
static constexpr const char *kContainerRuntimeVersion = "container.runtime.version";

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