|
13 | 13 |
|
14 | 14 | **Description:** An operating system process. |
15 | 15 |
|
16 | | -**Other Attributes:** |
| 16 | +**Identifying Attributes:** |
17 | 17 |
|
18 | | -> :warning: This entity definition contains attributes without a role. |
19 | | -> Stable Entities MUST NOT have attributes without a defined role. |
| 18 | +| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | |
| 19 | +|---|---|---|---|---|---| |
| 20 | +| [`process.creation.time`](/docs/registry/attributes/process.md) |  | `Recommended` | string | The date and time the process was created, in ISO 8601 format. | `2023-11-21T09:25:34.853Z` | |
| 21 | +| [`process.pid`](/docs/registry/attributes/process.md) |  | `Recommended` | int | Process identifier (PID). | `1234` | |
| 22 | + |
| 23 | +**Descriptive Attributes:** |
20 | 24 |
|
21 | 25 | | Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | |
22 | 26 | |---|---|---|---|---|---| |
23 | | -| [`process.command`](/docs/registry/attributes/process.md) |  | `Conditionally Required` [1] | string | The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to the first parameter extracted from `GetCommandLineW`. | `cmd/otelcol` | |
24 | | -| [`process.command_args`](/docs/registry/attributes/process.md) |  | `Conditionally Required` [2] | string[] | All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. | `["cmd/otecol", "--config=config.yaml"]` | |
25 | | -| [`process.command_line`](/docs/registry/attributes/process.md) |  | `Conditionally Required` [3] | string | The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. | `C:\cmd\otecol --config="my directory\config.yaml"` | |
26 | | -| [`process.executable.name`](/docs/registry/attributes/process.md) |  | `Conditionally Required` [4] | string | The name of the process executable. On Linux based systems, this SHOULD be set to the base name of the target of `/proc/[pid]/exe`. On Windows, this SHOULD be set to the base name of `GetProcessImageFileNameW`. | `otelcol` | |
27 | | -| [`process.executable.path`](/docs/registry/attributes/process.md) |  | `Conditionally Required` [5] | string | The full path to the process executable. On Linux based systems, can be set to the target of `proc/[pid]/exe`. On Windows, can be set to the result of `GetProcessImageFileNameW`. | `/usr/bin/cmd/otelcol` | |
28 | | -| [`process.linux.cgroup`](/docs/registry/attributes/process.md) |  | `Recommended` | string | The control group associated with the process. [6 ] | `1:name=systemd:/user.slice/user-1000.slice/session-3.scope`; `0::/user.slice/user-1000.slice/[email protected]/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope` | |
| 27 | +| [`process.args_count`](/docs/registry/attributes/process.md) |  | `Conditionally Required` [1] | int | Length of the process.command_args array [2] | `4` | |
| 28 | +| [`process.command`](/docs/registry/attributes/process.md) |  | `Conditionally Required` [3] | string | The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to the first parameter extracted from `GetCommandLineW`. | `cmd/otelcol` | |
| 29 | +| [`process.command_args`](/docs/registry/attributes/process.md) |  | `Conditionally Required` [4] | string[] | All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. | `["cmd/otecol", "--config=config.yaml"]` | |
| 30 | +| [`process.command_line`](/docs/registry/attributes/process.md) |  | `Conditionally Required` [5] | string | The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. | `C:\cmd\otecol --config="my directory\config.yaml"` | |
| 31 | +| [`process.executable.name`](/docs/registry/attributes/process.md) |  | `Conditionally Required` [6] | string | The name of the process executable. On Linux based systems, this SHOULD be set to the base name of the target of `/proc/[pid]/exe`. On Windows, this SHOULD be set to the base name of `GetProcessImageFileNameW`. | `otelcol` | |
| 32 | +| [`process.executable.path`](/docs/registry/attributes/process.md) |  | `Conditionally Required` [7] | string | The full path to the process executable. On Linux based systems, can be set to the target of `proc/[pid]/exe`. On Windows, can be set to the result of `GetProcessImageFileNameW`. | `/usr/bin/cmd/otelcol` | |
| 33 | +| [`process.interactive`](/docs/registry/attributes/process.md) |  | `Recommended` | boolean | Whether the process is connected to an interactive shell. | | |
| 34 | +| [`process.linux.cgroup`](/docs/registry/attributes/process.md) |  | `Recommended` | string | The control group associated with the process. [8 ] | `1:name=systemd:/user.slice/user-1000.slice/session-3.scope`; `0::/user.slice/user-1000.slice/[email protected]/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope` | |
29 | 35 | | [`process.owner`](/docs/registry/attributes/process.md) |  | `Recommended` | string | The username of the user that owns the process. | `root` | |
30 | 36 | | [`process.parent_pid`](/docs/registry/attributes/process.md) |  | `Recommended` | int | Parent Process identifier (PPID). | `111` | |
31 | | -| [`process.pid`](/docs/registry/attributes/process.md) |  | `Recommended` | int | Process identifier (PID). | `1234` | |
| 37 | +| [`process.title`](/docs/registry/attributes/process.md) |  | `Recommended` | string | Process title (proctitle) [9] | `cat /etc/hostname`; `xfce4-session`; `bash` | |
| 38 | +| [`process.working_directory`](/docs/registry/attributes/process.md) |  | `Recommended` | string | The working directory of the process. | `/root` | |
| 39 | + |
| 40 | +**[1] `process.args_count`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. |
| 41 | + |
| 42 | +**[2] `process.args_count`:** This field can be useful for querying or performing bucket analysis on how many arguments were provided to start a process. More arguments may be an indication of suspicious activity. |
| 43 | + |
| 44 | +**[3] `process.command`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. |
32 | 45 |
|
33 | | -**[1] `process.command`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. |
| 46 | +**[4] `process.command_args`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. |
34 | 47 |
|
35 | | -**[2] `process.command_args`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. |
| 48 | +**[5] `process.command_line`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. |
36 | 49 |
|
37 | | -**[3] `process.command_line`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. |
| 50 | +**[6] `process.executable.name`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. |
38 | 51 |
|
39 | | -**[4] `process.executable.name`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. |
| 52 | +**[7] `process.executable.path`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. |
40 | 53 |
|
41 | | -**[5] `process.executable.path`:** See [Selecting process attributes](/docs/resource/process.md#selecting-process-attributes) for details. |
| 54 | +**[8] `process.linux.cgroup`:** Control groups (cgroups) are a kernel feature used to organize and manage process resources. This attribute provides the path(s) to the cgroup(s) associated with the process, which should match the contents of the [/proc/\[PID\]/cgroup](https://man7.org/linux/man-pages/man7/cgroups.7.html) file. |
42 | 55 |
|
43 | | -**[6] `process.linux.cgroup`:** Control groups (cgroups) are a kernel feature used to organize and manage process resources. This attribute provides the path(s) to the cgroup(s) associated with the process, which should match the contents of the [/proc/\[PID\]/cgroup](https://man7.org/linux/man-pages/man7/cgroups.7.html) file. |
| 56 | +**[9] `process.title`:** In many Unix-like systems, process title (proctitle), is the string that represents the name or command line of a running process, displayed by system monitoring tools like ps, top, and htop. |
44 | 57 |
|
45 | 58 | ## Process Runtime |
46 | 59 |
|
|
50 | 63 |
|
51 | 64 | **Description:** The single (language) runtime instance which is monitored. |
52 | 65 |
|
53 | | -**Other Attributes:** |
54 | | - |
55 | | -> :warning: This entity definition contains attributes without a role. |
56 | | -> Stable Entities MUST NOT have attributes without a defined role. |
| 66 | +**Identifying Attributes:** |
57 | 67 |
|
58 | 68 | | Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | |
59 | 69 | |---|---|---|---|---|---| |
60 | | -| [`process.runtime.description`](/docs/registry/attributes/process.md) |  | `Recommended` | string | An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. | `Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0` | |
61 | 70 | | [`process.runtime.name`](/docs/registry/attributes/process.md) |  | `Recommended` | string | The name of the runtime of this process. | `OpenJDK Runtime Environment` | |
62 | 71 | | [`process.runtime.version`](/docs/registry/attributes/process.md) |  | `Recommended` | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | |
63 | 72 |
|
| 73 | +**Descriptive Attributes:** |
| 74 | + |
| 75 | +| Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | |
| 76 | +|---|---|---|---|---|---| |
| 77 | +| [`process.runtime.description`](/docs/registry/attributes/process.md) |  | `Recommended` | string | An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. | `Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0` | |
| 78 | + |
64 | 79 |
|
65 | 80 | <!-- markdownlint-restore --> |
0 commit comments