Process

May 18, 2026 · View on GitHub

Process Attributes

An operating system process.

Attributes:

KeyStabilityValue TypeDescriptionExample Values
process.args_countRelease CandidateintLength of the process.command_args array [1]4
process.commandRelease CandidatestringThe 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_argsRelease Candidatestring[]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_lineRelease CandidatestringThe 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.typeRelease CandidatestringSpecifies whether the context switches for this data point were voluntary or involuntary.voluntary; involuntary
process.creation.timeRelease CandidatestringThe date and time the process was created, in ISO 8601 format.2023-11-21T09:25:34.853Z
process.environment_variable.<key>Release CandidatestringProcess environment variables, <key> being the environment variable name, the value being the environment variable value. [2]ubuntu; /usr/local/bin:/usr/bin
process.executable.build_id.gnuRelease CandidatestringThe GNU build ID as found in the .note.gnu.build-id ELF section (hex string).c89b11207f6479603b0d49bf291c092c2b719293
process.executable.build_id.goRelease CandidatestringThe Go build ID as retrieved by go tool buildid <go executable>.foh3mEXu7BLZjsN9pOwG/kATcXlYVCDEFouRMQed_/WwRFB1hPo9LBkekthSPG/x8hMC8emW2cCjXD0_1aY
process.executable.build_id.htlhashRelease CandidatestringDeterministic build ID for executables. [3]600DCAFE4A110000F2BF38C493F5FB92
process.executable.nameRelease CandidatestringThe 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.pathRelease CandidatestringThe 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.codeRelease CandidateintThe exit code of the process.127
process.exit.timeRelease CandidatestringThe date and time the process exited, in ISO 8601 format.2023-11-21T09:26:12.315Z
process.group_leader.pidRelease CandidateintThe PID of the process's group leader. This is also the process group ID (PGID) of the process.23
process.interactiveRelease CandidatebooleanWhether the process is connected to an interactive shell.
process.ownerRelease CandidatestringThe username of the user that owns the process.root
process.parent_pidRelease CandidateintParent Process identifier (PPID).111
process.pidRelease CandidateintProcess identifier (PID).1234
process.real_user.idRelease CandidateintThe real user ID (RUID) of the process.1000
process.real_user.nameRelease CandidatestringThe username of the real user of the process.operator
process.runtime.descriptionRelease CandidatestringAn 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.nameRelease CandidatestringThe name of the runtime of this process.OpenJDK Runtime Environment
process.runtime.versionRelease CandidatestringThe version of the runtime of this process, as returned by the runtime without modification.14.0.2
process.saved_user.idRelease CandidateintThe saved user ID (SUID) of the process.1002
process.saved_user.nameRelease CandidatestringThe username of the saved user.operator
process.session_leader.pidRelease CandidateintThe PID of the process's session leader. This is also the session ID (SID) of the process.14
process.stateRelease CandidatestringThe process state, e.g., Linux Process State Codesrunning
process.titleRelease CandidatestringProcess title (proctitle) [4]cat /etc/hostname; xfce4-session; bash
process.user.idRelease CandidateintThe effective user ID (EUID) of the process.1001
process.user.nameRelease CandidatestringThe username of the effective user of the process.root
process.vpidRelease CandidateintVirtual process identifier. [5]12
process.working_directoryRelease CandidatestringThe 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.

[2] process.environment_variable.<key>: Examples:

  • an environment variable USER with value "ubuntu" SHOULD be recorded as the process.environment_variable.USER attribute with value "ubuntu".

  • an environment variable PATH with value "/usr/local/bin:/usr/bin" SHOULD be recorded as the process.environment_variable.PATH attribute with value "/usr/local/bin:/usr/bin".

[3] 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 build ID computed by hashing the first and last 4096 bytes of the file along with its length:

Input   ← Concat(File[:4096], File[-4096:], BigEndianUInt64(Len(File)))
Digest  ← SHA256(Input)
BuildID ← Digest[:16]

The result is the first 16 bytes (128 bits) of the SHA256 digest, represented as a hex string.

[4] 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.

[5] process.vpid: The process ID within a PID namespace. This is not necessarily unique across all processes on the host but it is unique within the process namespace that the process exists within.


process.context_switch.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
involuntaryinvoluntaryRelease Candidate
voluntaryvoluntaryRelease Candidate

process.state has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
defunctdefunctRelease Candidate
runningrunningRelease Candidate
sleepingsleepingRelease Candidate
stoppedstoppedRelease Candidate

Process Linux Attributes

Describes Linux Process attributes

Attributes:

KeyStabilityValue TypeDescriptionExample Values
process.linux.cgroupRelease CandidatestringThe 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 file.

Deprecated Process Attributes

Deprecated process attributes.

Attributes:

KeyStabilityValue TypeDescriptionExample Values
process.context_switch_typeDeprecated
Replaced by process.context_switch.type.
string"Deprecated, use process.context_switch.type instead."voluntary; involuntary
process.cpu.stateDeprecated
Replaced by cpu.mode.
stringDeprecated, use cpu.mode instead.system; user; wait
process.executable.build_id.profilingDeprecated
Replaced by process.executable.build_id.htlhash.
string"Deprecated, use process.executable.build_id.htlhash instead."600DCAFE4A110000F2BF38C493F5FB92
process.paging.fault_typeDeprecated
Replaced by system.paging.fault.type.
stringDeprecated, use system.paging.fault.type instead.major; minor

process.context_switch_type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
involuntaryinvoluntaryDevelopment
voluntaryvoluntaryDevelopment

process.cpu.state has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
systemsystemDevelopment
useruserDevelopment
waitwaitDevelopment

process.paging.fault_type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
majormajorDevelopment
minorminorDevelopment