Module: OpenTelemetry::SemConv::Incubating::PROCESS

Defined in:
lib/opentelemetry/semconv/incubating/process/metrics.rb,
lib/opentelemetry/semconv/incubating/process/attributes.rb

Metrics Names collapse

PROCESS_CONTEXT_SWITCHES =
Note:

Stability Level: development

Number of times the process has been context switched.

'process.context_switches'
PROCESS_CPU_TIME =
Note:

Stability Level: development

Total CPU seconds broken down by different states.

'process.cpu.time'
PROCESS_CPU_UTILIZATION =
Note:

Stability Level: development

Difference in process.cpu.time since the last measurement, divided by the elapsed time and number of CPUs available to the process.

'process.cpu.utilization'
PROCESS_DISK_IO =
Note:

Stability Level: development

Disk bytes transferred.

'process.disk.io'
PROCESS_MEMORY_USAGE =
Note:

Stability Level: development

The amount of physical memory in use.

'process.memory.usage'
PROCESS_MEMORY_VIRTUAL =
Note:

Stability Level: development

The amount of committed virtual memory.

'process.memory.virtual'
PROCESS_NETWORK_IO =
Note:

Stability Level: development

Network bytes transferred.

'process.network.io'
PROCESS_OPEN_FILE_DESCRIPTOR_COUNT =
Note:

Stability Level: development

Number of file descriptors in use by the process.

'process.open_file_descriptor.count'
PROCESS_PAGING_FAULTS =
Note:

Stability Level: development

Number of page faults the process has made.

'process.paging.faults'
PROCESS_THREAD_COUNT =
Note:

Stability Level: development

Process threads count.

'process.thread.count'
PROCESS_UPTIME =
Note:

Stability Level: development

The time the process has been running.

Instrumentations SHOULD use a gauge with type double and measure uptime in seconds as a floating point number with the highest precision available. The actual accuracy would depend on the instrumentation and operating system.

'process.uptime'

Attribute Names collapse

PROCESS_ARGS_COUNT =
Note:

Stability Level: development

Length of the process.command_args array

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.

Examples:

Sample Values

4
'process.args_count'
PROCESS_COMMAND =
Note:

Stability Level: development

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.

Examples:

Sample Values

cmd/otelcol
'process.command'
PROCESS_COMMAND_ARGS =
Note:

Stability Level: development

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.

Examples:

Sample Values

["cmd/otecol", "--config=config.yaml"]
'process.command_args'
PROCESS_COMMAND_LINE =
Note:

Stability Level: development

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.

Examples:

Sample Values

C:\cmd\otecol --config="my directory\config.yaml"
'process.command_line'
PROCESS_CONTEXT_SWITCH_TYPE =
Note:

Stability Level: development

Specifies whether the context switches for this data point were voluntary or involuntary.

'process.context_switch_type'
PROCESS_CPU_STATE =
Deprecated.

“Replaced by cpu.mode.”, “reason”: “renamed”, “renamed_to”: “cpu.mode”

Note:

Stability Level: development

Deprecated, use cpu.mode instead.

'process.cpu.state'
PROCESS_CREATION_TIME =
Note:

Stability Level: development

The date and time the process was created, in ISO 8601 format.

Examples:

Sample Values

2023-11-21T09:25:34.853Z
'process.creation.time'
PROCESS_ENVIRONMENT_VARIABLE_LAMBDA =
Note:

Stability Level: development

Must be called with a key for the full attribute name. See notes below about the expectations for the state of the key.

Process environment variables, <key> being the environment variable name, the value being the environment variable value.

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".

Examples:

Usage

PROCESS_ENVIRONMENT_VARIABLE_LAMBDA.call('some-cool-key') #=> 'process.environment_variable.some-cool-key'

Sample Values

ubuntu
/usr/local/bin:/usr/bin
->(key) { "process.environment_variable.#{key}" }
PROCESS_EXECUTABLE_BUILD_ID_GNU =
Note:

Stability Level: development

The GNU build ID as found in the .note.gnu.build-id ELF section (hex string).

Examples:

Sample Values

c89b11207f6479603b0d49bf291c092c2b719293
'process.executable.build_id.gnu'
PROCESS_EXECUTABLE_BUILD_ID_GO =
Note:

Stability Level: development

The Go build ID as retrieved by go tool buildid <go executable>.

Examples:

Sample Values

foh3mEXu7BLZjsN9pOwG/kATcXlYVCDEFouRMQed_/WwRFB1hPo9LBkekthSPG/x8hMC8emW2cCjXD0_1aY
'process.executable.build_id.go'
PROCESS_EXECUTABLE_BUILD_ID_HTLHASH =
Note:

Stability Level: development

Profiling specific build ID for executables. See the OTel specification for Profiles for more information.

Examples:

Sample Values

600DCAFE4A110000F2BF38C493F5FB92
'process.executable.build_id.htlhash'
PROCESS_EXECUTABLE_BUILD_ID_PROFILING =
Deprecated.

“Replaced by process.executable.build_id.htlhash.”, “reason”: “renamed”, “renamed_to”: “process.executable.build_id.htlhash”

Note:

Stability Level: development

“Deprecated, use process.executable.build_id.htlhash instead.”

Examples:

Sample Values

600DCAFE4A110000F2BF38C493F5FB92
'process.executable.build_id.profiling'
PROCESS_EXECUTABLE_NAME =
Note:

Stability Level: development

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.

Examples:

Sample Values

otelcol
'process.executable.name'
PROCESS_EXECUTABLE_PATH =
Note:

Stability Level: development

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.

Examples:

Sample Values

/usr/bin/cmd/otelcol
'process.executable.path'
PROCESS_EXIT_CODE =
Note:

Stability Level: development

The exit code of the process.

Examples:

Sample Values

127
'process.exit.code'
PROCESS_EXIT_TIME =
Note:

Stability Level: development

The date and time the process exited, in ISO 8601 format.

Examples:

Sample Values

2023-11-21T09:26:12.315Z
'process.exit.time'
PROCESS_GROUP_LEADER_PID =
Note:

Stability Level: development

The PID of the process’s group leader. This is also the process group ID (PGID) of the process.

Examples:

Sample Values

23
'process.group_leader.pid'
PROCESS_INTERACTIVE =
Note:

Stability Level: development

Whether the process is connected to an interactive shell.

'process.interactive'
PROCESS_LINUX_CGROUP =
Note:

Stability Level: development

The control group associated with the process.

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.

Examples:

Sample Values

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'
PROCESS_OWNER =
Note:

Stability Level: development

The username of the user that owns the process.

Examples:

Sample Values

root
'process.owner'
PROCESS_PAGING_FAULT_TYPE =
Note:

Stability Level: development

The type of page fault for this data point. Type major is for major/hard page faults, and minor is for minor/soft page faults.

'process.paging.fault_type'
PROCESS_PARENT_PID =
Note:

Stability Level: development

Parent Process identifier (PPID).

Examples:

Sample Values

111
'process.parent_pid'
PROCESS_PID =
Note:

Stability Level: development

Process identifier (PID).

Examples:

Sample Values

1234
'process.pid'
PROCESS_REAL_USER_ID =
Note:

Stability Level: development

The real user ID (RUID) of the process.

Examples:

Sample Values

1000
'process.real_user.id'
PROCESS_REAL_USER_NAME =
Note:

Stability Level: development

The username of the real user of the process.

Examples:

Sample Values

operator
'process.real_user.name'
PROCESS_RUNTIME_DESCRIPTION =
Note:

Stability Level: development

An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment.

Examples:

Sample Values

Eclipse OpenJ9 Eclipse OpenJ9 VM openj9-0.21.0
'process.runtime.description'
PROCESS_RUNTIME_NAME =
Note:

Stability Level: development

The name of the runtime of this process.

Examples:

Sample Values

OpenJDK Runtime Environment
'process.runtime.name'
PROCESS_RUNTIME_VERSION =
Note:

Stability Level: development

The version of the runtime of this process, as returned by the runtime without modification.

Examples:

Sample Values

14.0.2
'process.runtime.version'
PROCESS_SAVED_USER_ID =
Note:

Stability Level: development

The saved user ID (SUID) of the process.

Examples:

Sample Values

1002
'process.saved_user.id'
PROCESS_SAVED_USER_NAME =
Note:

Stability Level: development

The username of the saved user.

Examples:

Sample Values

operator
'process.saved_user.name'
PROCESS_SESSION_LEADER_PID =
Note:

Stability Level: development

The PID of the process’s session leader. This is also the session ID (SID) of the process.

Examples:

Sample Values

14
'process.session_leader.pid'
PROCESS_TITLE =
Note:

Stability Level: development

Process title (proctitle)

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.

Examples:

Sample Values

cat /etc/hostname
xfce4-session
bash
'process.title'
PROCESS_USER_ID =
Note:

Stability Level: development

The effective user ID (EUID) of the process.

Examples:

Sample Values

1001
'process.user.id'
PROCESS_USER_NAME =
Note:

Stability Level: development

The username of the effective user of the process.

Examples:

Sample Values

root
'process.user.name'
PROCESS_VPID =
Note:

Stability Level: development

Virtual process identifier.

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.

Examples:

Sample Values

12
'process.vpid'
PROCESS_WORKING_DIRECTORY =
Note:

Stability Level: development

The working directory of the process.

Examples:

Sample Values

/root
'process.working_directory'