diff --git a/.chloggen/update-process-attributes-to-RC.yaml b/.chloggen/update-process-attributes-to-RC.yaml new file mode 100644 index 0000000000..1c266714bd --- /dev/null +++ b/.chloggen/update-process-attributes-to-RC.yaml @@ -0,0 +1,22 @@ +# Use this changelog template to create an entry for release notes. +# +# If your change doesn't affect end users you should instead start +# your pull request title with [chore] or use the "Skip Changelog" label. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: enhancement + +# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) +component: process + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Promote process attributes to release_candidate + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +# The values here must be integers. +issues: [3041] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: diff --git a/docs/cli/cli-spans.md b/docs/cli/cli-spans.md index ce3e9ab1b6..a9586c5f29 100644 --- a/docs/cli/cli-spans.md +++ b/docs/cli/cli-spans.md @@ -34,12 +34,12 @@ An Error is defined as when the `{process.exit.code}` attribute is not 0. | Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | | --- | --- | --- | --- | --- | --- | -| [`process.executable.name`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | 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` | -| [`process.exit.code`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | int | The exit code of the process. | `127` | -| [`process.pid`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | int | Process identifier (PID). | `1234` | +| [`process.executable.name`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | 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` | +| [`process.exit.code`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | int | The exit code of the process. | `127` | +| [`process.pid`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | int | Process identifier (PID). | `1234` | | [`error.type`](/docs/registry/attributes/error.md) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Conditionally Required` if and only if process.exit.code is not 0 | string | Describes a class of error the operation ended with. [1] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | -| [`process.command_args`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | 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"]` | -| [`process.executable.path`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | 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` | +| [`process.command_args`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Recommended` | 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"]` | +| [`process.executable.path`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Recommended` | 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` | **[1] `error.type`:** The `error.type` SHOULD be predictable, and SHOULD have low cardinality. @@ -103,12 +103,12 @@ An Error is defined as when the `{process.exit.code}` attribute is not 0. | Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | | --- | --- | --- | --- | --- | --- | -| [`process.executable.name`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | 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` | -| [`process.exit.code`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | int | The exit code of the process. | `127` | -| [`process.pid`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | int | Process identifier (PID). | `1234` | +| [`process.executable.name`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | 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` | +| [`process.exit.code`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | int | The exit code of the process. | `127` | +| [`process.pid`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | int | Process identifier (PID). | `1234` | | [`error.type`](/docs/registry/attributes/error.md) | ![Stable](https://img.shields.io/badge/-stable-lightgreen) | `Conditionally Required` if and only if process.exit.code is not 0 | string | Describes a class of error the operation ended with. [1] | `timeout`; `java.net.UnknownHostException`; `server_certificate_invalid`; `500` | -| [`process.command_args`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | 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"]` | -| [`process.executable.path`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | 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` | +| [`process.command_args`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Recommended` | 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"]` | +| [`process.executable.path`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Recommended` | 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` | **[1] `error.type`:** The `error.type` SHOULD be predictable, and SHOULD have low cardinality. diff --git a/docs/registry/attributes/process.md b/docs/registry/attributes/process.md index 74b11dad67..6f8c3bcb73 100644 --- a/docs/registry/attributes/process.md +++ b/docs/registry/attributes/process.md @@ -15,39 +15,39 @@ An operating system process. | Key | Stability | Value Type | Description | Example Values | | --- | --- | --- | --- | --- | -| `process.args_count` | ![Development](https://img.shields.io/badge/-development-blue) | int | Length of the process.command_args array [1] | `4` | -| `process.command` | ![Development](https://img.shields.io/badge/-development-blue) | 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` | -| `process.command_args` | ![Development](https://img.shields.io/badge/-development-blue) | 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"]` | -| `process.command_line` | ![Development](https://img.shields.io/badge/-development-blue) | 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"` | -| `process.context_switch.type` | ![Development](https://img.shields.io/badge/-development-blue) | string | Specifies whether the context switches for this data point were voluntary or involuntary. | `voluntary`; `involuntary` | -| `process.creation.time` | ![Development](https://img.shields.io/badge/-development-blue) | string | The date and time the process was created, in ISO 8601 format. | `2023-11-21T09:25:34.853Z` | -| `process.environment_variable.` | ![Development](https://img.shields.io/badge/-development-blue) | string | Process environment variables, `` being the environment variable name, the value being the environment variable value. [2] | `ubuntu`; `/usr/local/bin:/usr/bin` | -| `process.executable.build_id.gnu` | ![Development](https://img.shields.io/badge/-development-blue) | string | The GNU build ID as found in the `.note.gnu.build-id` ELF section (hex string). | `c89b11207f6479603b0d49bf291c092c2b719293` | -| `process.executable.build_id.go` | ![Development](https://img.shields.io/badge/-development-blue) | string | The Go build ID as retrieved by `go tool buildid `. | `foh3mEXu7BLZjsN9pOwG/kATcXlYVCDEFouRMQed_/WwRFB1hPo9LBkekthSPG/x8hMC8emW2cCjXD0_1aY` | -| `process.executable.build_id.htlhash` | ![Development](https://img.shields.io/badge/-development-blue) | string | Deterministic build ID for executables. [3] | `600DCAFE4A110000F2BF38C493F5FB92` | -| `process.executable.name` | ![Development](https://img.shields.io/badge/-development-blue) | 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` | -| `process.executable.path` | ![Development](https://img.shields.io/badge/-development-blue) | 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` | -| `process.exit.code` | ![Development](https://img.shields.io/badge/-development-blue) | int | The exit code of the process. | `127` | -| `process.exit.time` | ![Development](https://img.shields.io/badge/-development-blue) | string | The date and time the process exited, in ISO 8601 format. | `2023-11-21T09:26:12.315Z` | -| `process.group_leader.pid` | ![Development](https://img.shields.io/badge/-development-blue) | int | The PID of the process's group leader. This is also the process group ID (PGID) of the process. | `23` | -| `process.interactive` | ![Development](https://img.shields.io/badge/-development-blue) | boolean | Whether the process is connected to an interactive shell. | | -| `process.owner` | ![Development](https://img.shields.io/badge/-development-blue) | string | The username of the user that owns the process. | `root` | -| `process.parent_pid` | ![Development](https://img.shields.io/badge/-development-blue) | int | Parent Process identifier (PPID). | `111` | -| `process.pid` | ![Development](https://img.shields.io/badge/-development-blue) | int | Process identifier (PID). | `1234` | -| `process.real_user.id` | ![Development](https://img.shields.io/badge/-development-blue) | int | The real user ID (RUID) of the process. | `1000` | -| `process.real_user.name` | ![Development](https://img.shields.io/badge/-development-blue) | string | The username of the real user of the process. | `operator` | -| `process.runtime.description` | ![Development](https://img.shields.io/badge/-development-blue) | 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` | -| `process.runtime.name` | ![Development](https://img.shields.io/badge/-development-blue) | string | The name of the runtime of this process. | `OpenJDK Runtime Environment` | -| `process.runtime.version` | ![Development](https://img.shields.io/badge/-development-blue) | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | -| `process.saved_user.id` | ![Development](https://img.shields.io/badge/-development-blue) | int | The saved user ID (SUID) of the process. | `1002` | -| `process.saved_user.name` | ![Development](https://img.shields.io/badge/-development-blue) | string | The username of the saved user. | `operator` | -| `process.session_leader.pid` | ![Development](https://img.shields.io/badge/-development-blue) | int | The PID of the process's session leader. This is also the session ID (SID) of the process. | `14` | -| `process.state` | ![Development](https://img.shields.io/badge/-development-blue) | string | The process state, e.g., [Linux Process State Codes](https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES) | `running` | -| `process.title` | ![Development](https://img.shields.io/badge/-development-blue) | string | Process title (proctitle) [4] | `cat /etc/hostname`; `xfce4-session`; `bash` | -| `process.user.id` | ![Development](https://img.shields.io/badge/-development-blue) | int | The effective user ID (EUID) of the process. | `1001` | -| `process.user.name` | ![Development](https://img.shields.io/badge/-development-blue) | string | The username of the effective user of the process. | `root` | -| `process.vpid` | ![Development](https://img.shields.io/badge/-development-blue) | int | Virtual process identifier. [5] | `12` | -| `process.working_directory` | ![Development](https://img.shields.io/badge/-development-blue) | string | The working directory of the process. | `/root` | +| `process.args_count` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | int | Length of the process.command_args array [1] | `4` | +| `process.command` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | 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` | +| `process.command_args` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | 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"]` | +| `process.command_line` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | 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"` | +| `process.context_switch.type` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | Specifies whether the context switches for this data point were voluntary or involuntary. | `voluntary`; `involuntary` | +| `process.creation.time` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | The date and time the process was created, in ISO 8601 format. | `2023-11-21T09:25:34.853Z` | +| `process.environment_variable.` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | Process environment variables, `` being the environment variable name, the value being the environment variable value. [2] | `ubuntu`; `/usr/local/bin:/usr/bin` | +| `process.executable.build_id.gnu` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | The GNU build ID as found in the `.note.gnu.build-id` ELF section (hex string). | `c89b11207f6479603b0d49bf291c092c2b719293` | +| `process.executable.build_id.go` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | The Go build ID as retrieved by `go tool buildid `. | `foh3mEXu7BLZjsN9pOwG/kATcXlYVCDEFouRMQed_/WwRFB1hPo9LBkekthSPG/x8hMC8emW2cCjXD0_1aY` | +| `process.executable.build_id.htlhash` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | Deterministic build ID for executables. [3] | `600DCAFE4A110000F2BF38C493F5FB92` | +| `process.executable.name` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | 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` | +| `process.executable.path` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | 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` | +| `process.exit.code` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | int | The exit code of the process. | `127` | +| `process.exit.time` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | The date and time the process exited, in ISO 8601 format. | `2023-11-21T09:26:12.315Z` | +| `process.group_leader.pid` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | int | The PID of the process's group leader. This is also the process group ID (PGID) of the process. | `23` | +| `process.interactive` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | boolean | Whether the process is connected to an interactive shell. | | +| `process.owner` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | The username of the user that owns the process. | `root` | +| `process.parent_pid` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | int | Parent Process identifier (PPID). | `111` | +| `process.pid` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | int | Process identifier (PID). | `1234` | +| `process.real_user.id` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | int | The real user ID (RUID) of the process. | `1000` | +| `process.real_user.name` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | The username of the real user of the process. | `operator` | +| `process.runtime.description` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | 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` | +| `process.runtime.name` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | The name of the runtime of this process. | `OpenJDK Runtime Environment` | +| `process.runtime.version` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | +| `process.saved_user.id` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | int | The saved user ID (SUID) of the process. | `1002` | +| `process.saved_user.name` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | The username of the saved user. | `operator` | +| `process.session_leader.pid` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | int | The PID of the process's session leader. This is also the session ID (SID) of the process. | `14` | +| `process.state` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | The process state, e.g., [Linux Process State Codes](https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES) | `running` | +| `process.title` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | Process title (proctitle) [4] | `cat /etc/hostname`; `xfce4-session`; `bash` | +| `process.user.id` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | int | The effective user ID (EUID) of the process. | `1001` | +| `process.user.name` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | The username of the effective user of the process. | `root` | +| `process.vpid` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | int | Virtual process identifier. [5] | `12` | +| `process.working_directory` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | string | The working directory of the process. | `/root` | **[1] `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. @@ -84,8 +84,8 @@ represented as a hex string. | Value | Description | Stability | | --- | --- | --- | -| `involuntary` | involuntary | ![Development](https://img.shields.io/badge/-development-blue) | -| `voluntary` | voluntary | ![Development](https://img.shields.io/badge/-development-blue) | +| `involuntary` | involuntary | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | +| `voluntary` | voluntary | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | --- @@ -93,10 +93,10 @@ represented as a hex string. | Value | Description | Stability | | --- | --- | --- | -| `defunct` | defunct | ![Development](https://img.shields.io/badge/-development-blue) | -| `running` | running | ![Development](https://img.shields.io/badge/-development-blue) | -| `sleeping` | sleeping | ![Development](https://img.shields.io/badge/-development-blue) | -| `stopped` | stopped | ![Development](https://img.shields.io/badge/-development-blue) | +| `defunct` | defunct | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | +| `running` | running | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | +| `sleeping` | sleeping | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | +| `stopped` | stopped | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | ## Process Linux Attributes @@ -106,7 +106,7 @@ Describes Linux Process attributes | Key | Stability | Value Type | Description | Example Values | | --- | --- | --- | --- | --- | -| `process.linux.cgroup` | ![Development](https://img.shields.io/badge/-development-blue) | 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/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope` | +| `process.linux.cgroup` | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | 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/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope` | **[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. diff --git a/docs/registry/entities/process.md b/docs/registry/entities/process.md index 47031ca3b9..9524eafe39 100644 --- a/docs/registry/entities/process.md +++ b/docs/registry/entities/process.md @@ -15,18 +15,18 @@ | Role | Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | | --- | --- | --- | --- | --- | --- | --- | -| Identity | [`process.creation.time`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | string | The date and time the process was created, in ISO 8601 format. | `2023-11-21T09:25:34.853Z` | -| Identity | [`process.pid`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | int | Process identifier (PID). | `1234` | -| Description | [`process.command`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | 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` | -| Description | [`process.owner`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | The username of the user that owns the process. | `root` | -| Description | [`process.args_count`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | int | Length of the process.command_args array [1] | `4` | -| Description | [`process.command_args`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | 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"]` | -| Description | [`process.command_line`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | 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"` | -| Description | [`process.interactive`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | boolean | Whether the process is connected to an interactive shell. | | -| Description | [`process.linux.cgroup`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | The control group associated with the process. [2] | `1:name=systemd:/user.slice/user-1000.slice/session-3.scope`; `0::/user.slice/user-1000.slice/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope` | -| Description | [`process.parent_pid`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | int | Parent Process identifier (PPID). | `111` | -| Description | [`process.title`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | Process title (proctitle) [3] | `cat /etc/hostname`; `xfce4-session`; `bash` | -| Description | [`process.working_directory`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | The working directory of the process. | `/root` | +| Identity | [`process.creation.time`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | string | The date and time the process was created, in ISO 8601 format. | `2023-11-21T09:25:34.853Z` | +| Identity | [`process.pid`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | int | Process identifier (PID). | `1234` | +| Description | [`process.command`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Recommended` | 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` | +| Description | [`process.owner`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Recommended` | string | The username of the user that owns the process. | `root` | +| Description | [`process.args_count`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | int | Length of the process.command_args array [1] | `4` | +| Description | [`process.command_args`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | 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"]` | +| Description | [`process.command_line`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | 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"` | +| Description | [`process.interactive`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | boolean | Whether the process is connected to an interactive shell. | | +| Description | [`process.linux.cgroup`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | string | The control group associated with the process. [2] | `1:name=systemd:/user.slice/user-1000.slice/session-3.scope`; `0::/user.slice/user-1000.slice/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope` | +| Description | [`process.parent_pid`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | int | Parent Process identifier (PPID). | `111` | +| Description | [`process.title`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | string | Process title (proctitle) [3] | `cat /etc/hostname`; `xfce4-session`; `bash` | +| Description | [`process.working_directory`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | string | The working directory of the process. | `/root` | **[1] `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. @@ -46,11 +46,11 @@ | Role | Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | | --- | --- | --- | --- | --- | --- | --- | -| Identity | [`process.executable.build_id.htlhash`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | string | Deterministic build ID for executables. [4] | `600DCAFE4A110000F2BF38C493F5FB92` | -| Description | [`process.executable.name`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | 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` | -| Description | [`process.executable.build_id.gnu`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | The GNU build ID as found in the `.note.gnu.build-id` ELF section (hex string). | `c89b11207f6479603b0d49bf291c092c2b719293` | -| Description | [`process.executable.build_id.go`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | The Go build ID as retrieved by `go tool buildid `. | `foh3mEXu7BLZjsN9pOwG/kATcXlYVCDEFouRMQed_/WwRFB1hPo9LBkekthSPG/x8hMC8emW2cCjXD0_1aY` | -| Description | [`process.executable.path`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | 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` | +| Identity | [`process.executable.build_id.htlhash`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | string | Deterministic build ID for executables. [4] | `600DCAFE4A110000F2BF38C493F5FB92` | +| Description | [`process.executable.name`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Recommended` | 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` | +| Description | [`process.executable.build_id.gnu`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | string | The GNU build ID as found in the `.note.gnu.build-id` ELF section (hex string). | `c89b11207f6479603b0d49bf291c092c2b719293` | +| Description | [`process.executable.build_id.go`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | string | The Go build ID as retrieved by `go tool buildid `. | `foh3mEXu7BLZjsN9pOwG/kATcXlYVCDEFouRMQed_/WwRFB1hPo9LBkekthSPG/x8hMC8emW2cCjXD0_1aY` | +| Description | [`process.executable.path`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | 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` | **[4] `process.executable.build_id.htlhash`:** GNU and Go build IDs may be stripped or unavailable in some environments (e.g., Alpine Linux, Docker images). This attribute provides a deterministic @@ -78,6 +78,6 @@ represented as a hex string. | Role | Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | | --- | --- | --- | --- | --- | --- | --- | -| Identity | [`process.runtime.name`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | The name of the runtime of this process. | `OpenJDK Runtime Environment` | -| Identity | [`process.runtime.version`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | -| Description | [`process.runtime.description`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `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` | +| Identity | [`process.runtime.name`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Recommended` | string | The name of the runtime of this process. | `OpenJDK Runtime Environment` | +| Identity | [`process.runtime.version`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Recommended` | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | +| Description | [`process.runtime.description`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `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` | diff --git a/docs/resource/process.md b/docs/resource/process.md index faa6d8f22c..817629cd2a 100644 --- a/docs/resource/process.md +++ b/docs/resource/process.md @@ -38,18 +38,18 @@ linkTitle: Process | Role | Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | | --- | --- | --- | --- | --- | --- | --- | -| Identity | [`process.creation.time`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | string | The date and time the process was created, in ISO 8601 format. | `2023-11-21T09:25:34.853Z` | -| Identity | [`process.pid`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | int | Process identifier (PID). | `1234` | -| Description | [`process.command`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | 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` | -| Description | [`process.owner`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | The username of the user that owns the process. | `root` | -| Description | [`process.args_count`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | int | Length of the process.command_args array [1] | `4` | -| Description | [`process.command_args`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | 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"]` | -| Description | [`process.command_line`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | 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"` | -| Description | [`process.interactive`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | boolean | Whether the process is connected to an interactive shell. | | -| Description | [`process.linux.cgroup`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | The control group associated with the process. [2] | `1:name=systemd:/user.slice/user-1000.slice/session-3.scope`; `0::/user.slice/user-1000.slice/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope` | -| Description | [`process.parent_pid`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | int | Parent Process identifier (PPID). | `111` | -| Description | [`process.title`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | Process title (proctitle) [3] | `cat /etc/hostname`; `xfce4-session`; `bash` | -| Description | [`process.working_directory`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | The working directory of the process. | `/root` | +| Identity | [`process.creation.time`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | string | The date and time the process was created, in ISO 8601 format. | `2023-11-21T09:25:34.853Z` | +| Identity | [`process.pid`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | int | Process identifier (PID). | `1234` | +| Description | [`process.command`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Recommended` | 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` | +| Description | [`process.owner`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Recommended` | string | The username of the user that owns the process. | `root` | +| Description | [`process.args_count`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | int | Length of the process.command_args array [1] | `4` | +| Description | [`process.command_args`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | 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"]` | +| Description | [`process.command_line`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | 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"` | +| Description | [`process.interactive`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | boolean | Whether the process is connected to an interactive shell. | | +| Description | [`process.linux.cgroup`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | string | The control group associated with the process. [2] | `1:name=systemd:/user.slice/user-1000.slice/session-3.scope`; `0::/user.slice/user-1000.slice/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope` | +| Description | [`process.parent_pid`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | int | Parent Process identifier (PPID). | `111` | +| Description | [`process.title`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | string | Process title (proctitle) [3] | `cat /etc/hostname`; `xfce4-session`; `bash` | +| Description | [`process.working_directory`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | string | The working directory of the process. | `/root` | **[1] `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. @@ -83,9 +83,9 @@ on systems where the native format is a single string. If command arguments cann | Role | Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | | --- | --- | --- | --- | --- | --- | --- | -| Identity | [`process.runtime.name`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | The name of the runtime of this process. | `OpenJDK Runtime Environment` | -| Identity | [`process.runtime.version`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | -| Description | [`process.runtime.description`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `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` | +| Identity | [`process.runtime.name`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Recommended` | string | The name of the runtime of this process. | `OpenJDK Runtime Environment` | +| Identity | [`process.runtime.version`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Recommended` | string | The version of the runtime of this process, as returned by the runtime without modification. | `14.0.2` | +| Description | [`process.runtime.description`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `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` | diff --git a/docs/resource/zos.md b/docs/resource/zos.md index c187352e38..0fe8141e0c 100644 --- a/docs/resource/zos.md +++ b/docs/resource/zos.md @@ -117,12 +117,12 @@ The following table describes how to populate attributes on the `process` entity | Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | | --- | --- | --- | --- | --- | --- | -| [`process.command`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | string | The command used to launch the process (i.e. the command name). On z/OS, SHOULD be set to the name of the job used to start the z/OS system software. | `CICSSTRT` | -| [`process.pid`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | int | Process identifier (PID). [1] | `008A` | -| [`process.owner`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | The username of the user that owns the process. [2] | `CICSUSR` | -| [`process.runtime.description`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. | `IBM Customer Information Control System (CICS) Transaction Server for z/OS Version 5.6` | -| [`process.runtime.name`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | The name of the runtime of this process. | `CICS Transaction Server z/OS Version 5.6` | -| [`process.runtime.version`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Opt-In` | string | The version of the runtime of this process, as returned by the runtime without modification. | `5.6` | +| [`process.command`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | string | The command used to launch the process (i.e. the command name). On z/OS, SHOULD be set to the name of the job used to start the z/OS system software. | `CICSSTRT` | +| [`process.pid`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | int | Process identifier (PID). [1] | `008A` | +| [`process.owner`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | string | The username of the user that owns the process. [2] | `CICSUSR` | +| [`process.runtime.description`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | string | An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. | `IBM Customer Information Control System (CICS) Transaction Server for z/OS Version 5.6` | +| [`process.runtime.name`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | string | The name of the runtime of this process. | `CICS Transaction Server z/OS Version 5.6` | +| [`process.runtime.version`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Opt-In` | string | The version of the runtime of this process, as returned by the runtime without modification. | `5.6` | **[1] `process.pid`:** On z/OS, SHOULD be set to the Address Space Identifier. diff --git a/docs/system/process-metrics.md b/docs/system/process-metrics.md index e7baaaaa63..c5a5febda1 100644 --- a/docs/system/process-metrics.md +++ b/docs/system/process-metrics.md @@ -292,7 +292,7 @@ This metric is [recommended][MetricRecommended]. | Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | | --- | --- | --- | --- | --- | --- | -| [`process.context_switch.type`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Required` | string | Specifies whether the context switches for this data point were voluntary or involuntary. | `voluntary`; `involuntary` | +| [`process.context_switch.type`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Required` | string | Specifies whether the context switches for this data point were voluntary or involuntary. | `voluntary`; `involuntary` | --- @@ -300,8 +300,8 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | | --- | --- | --- | -| `involuntary` | involuntary | ![Development](https://img.shields.io/badge/-development-blue) | -| `voluntary` | voluntary | ![Development](https://img.shields.io/badge/-development-blue) | +| `involuntary` | involuntary | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | +| `voluntary` | voluntary | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | diff --git a/docs/system/system-metrics.md b/docs/system/system-metrics.md index aed6abfe51..bb7eae0197 100644 --- a/docs/system/system-metrics.md +++ b/docs/system/system-metrics.md @@ -1060,7 +1060,7 @@ This metric is [recommended][MetricRecommended]. | Key | Stability | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Value Type | Description | Example Values | | --- | --- | --- | --- | --- | --- | -| [`process.state`](/docs/registry/attributes/process.md) | ![Development](https://img.shields.io/badge/-development-blue) | `Recommended` | string | The process state, e.g., [Linux Process State Codes](https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES) | `running` | +| [`process.state`](/docs/registry/attributes/process.md) | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | `Recommended` | string | The process state, e.g., [Linux Process State Codes](https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES) | `running` | --- @@ -1068,10 +1068,10 @@ This metric is [recommended][MetricRecommended]. | Value | Description | Stability | | --- | --- | --- | -| `defunct` | defunct | ![Development](https://img.shields.io/badge/-development-blue) | -| `running` | running | ![Development](https://img.shields.io/badge/-development-blue) | -| `sleeping` | sleeping | ![Development](https://img.shields.io/badge/-development-blue) | -| `stopped` | stopped | ![Development](https://img.shields.io/badge/-development-blue) | +| `defunct` | defunct | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | +| `running` | running | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | +| `sleeping` | sleeping | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | +| `stopped` | stopped | ![Release Candidate](https://img.shields.io/badge/-rc-mediumorchid) | diff --git a/model/process/registry.yaml b/model/process/registry.yaml index d426200571..17fb6b7222 100644 --- a/model/process/registry.yaml +++ b/model/process/registry.yaml @@ -7,19 +7,19 @@ groups: attributes: - id: process.pid type: int - stability: development + stability: release_candidate brief: > Process identifier (PID). examples: [1234] - id: process.parent_pid type: int - stability: development + stability: release_candidate brief: > Parent Process identifier (PPID). examples: [111] - id: process.vpid type: int - stability: development + stability: release_candidate brief: > Virtual process identifier. note: > @@ -29,32 +29,32 @@ groups: examples: [12] - id: process.session_leader.pid type: int - stability: development + stability: release_candidate brief: > The PID of the process's session leader. This is also the session ID (SID) of the process. examples: [14] - id: process.group_leader.pid type: int - stability: development + stability: release_candidate brief: > The PID of the process's group leader. This is also the process group ID (PGID) of the process. examples: [23] - id: process.executable.build_id.gnu - stability: development + stability: release_candidate type: string brief: > The GNU build ID as found in the `.note.gnu.build-id` ELF section (hex string). examples: ['c89b11207f6479603b0d49bf291c092c2b719293'] - id: process.executable.build_id.go - stability: development + stability: release_candidate type: string brief: > The Go build ID as retrieved by `go tool buildid `. examples: ['foh3mEXu7BLZjsN9pOwG/kATcXlYVCDEFouRMQed_/WwRFB1hPo9LBkekthSPG/x8hMC8emW2cCjXD0_1aY'] - id: process.executable.build_id.htlhash - stability: development + stability: release_candidate type: string brief: > Deterministic build ID for executables. @@ -75,7 +75,7 @@ groups: examples: ['600DCAFE4A110000F2BF38C493F5FB92'] - id: process.executable.name type: string - stability: development + stability: release_candidate brief: > 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, @@ -83,7 +83,7 @@ groups: examples: ['otelcol'] - id: process.executable.path type: string - stability: development + stability: release_candidate brief: > 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 @@ -91,7 +91,7 @@ groups: examples: ['/usr/bin/cmd/otelcol'] - id: process.command type: string - stability: development + stability: release_candidate brief: > 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`. @@ -99,7 +99,7 @@ groups: examples: ['cmd/otelcol'] - id: process.command_line type: string - stability: development + stability: release_candidate brief: > 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`. @@ -109,7 +109,7 @@ groups: examples: ['C:\cmd\otecol --config="my directory\config.yaml"'] - id: process.command_args type: string[] - stability: development + stability: release_candidate brief: > All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid @@ -121,7 +121,7 @@ groups: - ['cmd/otecol', '--config=config.yaml'] - id: process.args_count type: int - stability: development + stability: release_candidate brief: > Length of the process.command_args array note: > @@ -131,69 +131,69 @@ groups: examples: [4] - id: process.owner type: string - stability: development + stability: release_candidate brief: > The username of the user that owns the process. examples: ['root'] - id: process.user.id type: int - stability: development + stability: release_candidate brief: > The effective user ID (EUID) of the process. examples: [1001] - id: process.user.name type: string - stability: development + stability: release_candidate brief: > The username of the effective user of the process. examples: ['root'] - id: process.real_user.id type: int - stability: development + stability: release_candidate brief: > The real user ID (RUID) of the process. examples: [1000] - id: process.real_user.name type: string - stability: development + stability: release_candidate brief: > The username of the real user of the process. examples: ['operator'] - id: process.saved_user.id type: int - stability: development + stability: release_candidate brief: > The saved user ID (SUID) of the process. examples: [1002] - id: process.saved_user.name type: string - stability: development + stability: release_candidate brief: > The username of the saved user. examples: ['operator'] - id: process.runtime.name type: string - stability: development + stability: release_candidate brief: > The name of the runtime of this process. examples: ['OpenJDK Runtime Environment'] - id: process.runtime.version type: string - stability: development + stability: release_candidate brief: > The version of the runtime of this process, as returned by the runtime without modification. examples: '14.0.2' - id: process.runtime.description type: string - stability: development + stability: release_candidate brief: > An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. examples: 'Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0' - id: process.title type: string - stability: development + stability: release_candidate brief: > Process title (proctitle) note: > @@ -203,30 +203,30 @@ groups: examples: ["cat /etc/hostname", "xfce4-session", "bash"] - id: process.creation.time type: string - stability: development + stability: release_candidate brief: > The date and time the process was created, in ISO 8601 format. examples: ['2023-11-21T09:25:34.853Z'] - id: process.exit.time type: string - stability: development + stability: release_candidate brief: > The date and time the process exited, in ISO 8601 format. examples: ['2023-11-21T09:26:12.315Z'] - id: process.exit.code type: int - stability: development + stability: release_candidate brief: > The exit code of the process. examples: [127] - id: process.interactive type: boolean - stability: development + stability: release_candidate brief: > Whether the process is connected to an interactive shell. - id: process.working_directory type: string - stability: development + stability: release_candidate brief: > The working directory of the process. examples: ["/root"] @@ -236,11 +236,11 @@ groups: members: - id: voluntary value: 'voluntary' - stability: development + stability: release_candidate - id: involuntary value: 'involuntary' - stability: development - stability: development + stability: release_candidate + stability: release_candidate - id: process.environment_variable brief: > Process environment variables, `` being the environment variable @@ -256,24 +256,24 @@ groups: with value `"/usr/local/bin:/usr/bin"`. type: template[string] - stability: development + stability: release_candidate examples: ['ubuntu', '/usr/local/bin:/usr/bin'] - id: process.state type: members: - id: running value: 'running' - stability: development + stability: release_candidate - id: sleeping value: 'sleeping' - stability: development + stability: release_candidate - id: stopped value: 'stopped' - stability: development + stability: release_candidate - id: defunct value: 'defunct' - stability: development - stability: development + stability: release_candidate + stability: release_candidate brief: > The process state, e.g., [Linux Process State Codes](https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES) examples: [ "running" ] @@ -284,7 +284,7 @@ groups: attributes: - id: process.linux.cgroup type: string - stability: development + stability: release_candidate brief: The control group associated with the process. examples: ["1:name=systemd:/user.slice/user-1000.slice/session-3.scope", "0::/user.slice/user-1000.slice/user@1000.service/tmux-spawn-0267755b-4639-4a27-90ed-f19f88e53748.scope"] note: >