Skip to content

Update process attribute requirement levels#3461

Merged
lmolkova merged 10 commits intoopen-telemetry:mainfrom
osullivandonal:update-process-identifiers-to-required
Mar 9, 2026
Merged

Update process attribute requirement levels#3461
lmolkova merged 10 commits intoopen-telemetry:mainfrom
osullivandonal:update-process-identifiers-to-required

Conversation

@osullivandonal
Copy link
Copy Markdown
Contributor

@osullivandonal osullivandonal commented Feb 19, 2026

Related to #864

Changes

  • Set process.pid and process.creation.time as required (process Identity).
  • Set process.executable.name to required (Description).
  • Set process descriptive attributes to Optional (opt_in).
  • Update docs/resource/process.md to reflect the new requirement levels.

This change ensures consistent process identification and description across all platforms.

- The reason that the process identifier entities have been marked as required is they are consistently available across all platforms. These provide a solid way to identify a process.
- process.executable.name has been made required as this is also available across all platforms.
- For example:
- Linux this is available from either /proc/(pid)/comm or /proc/(pid)/status.
- Windows executable name via: QueryFullProcessImageNameW
- Darwin (macOS): Available via proc_name (macOS 10.4+).
- BSD (FreeBSD): Available via kinfo_getproc (the ki_comm field in the kinfo_proc structure).

gopsutil, the tool we use in hostmetricsreceiver scrapers, provides all of the above.

Note

Initially, the idea was to make process.executable.name required as this is available across all platforms. However, it was observed that calling execve() can replace the process at a certain PID, meaning the PID stays the same but other attributes such as process.executable.name can change. For this reason, the descriptive attributes for the process have been changed to optional and the identity attributes remain required.

Important

Pull requests acceptance are subject to the triage process as described in Issue and PR Triage Management.
PRs that do not follow the guidance above, may be automatically rejected and closed.

Merge requirement checklist

  • CONTRIBUTING.md guidelines followed.
  • Change log entry added, according to the guidelines in When to add a changelog entry.
    • If your PR does not need a change log, start the PR title with [chore]
  • Links to the prototypes or existing instrumentations (when adding or changing conventions)

- Set `process.pid` and `process.creation.time` as required (Identity).
- Set `process.executable.name` to Required (Description).
- Set other process descriptive attributes to Optional (`opt_in`).
- Update `docs/resources/process.md` to reflect the new requirement
  levels.
This changes ensures consistent process identification and description
across all platforms.
Comment thread model/process/entities.yaml
Comment thread model/process/entities.yaml
Comment thread docs/resource/process.md Outdated
Comment thread docs/resource/process.md
@osullivandonal osullivandonal marked this pull request as ready for review February 23, 2026 09:18
@osullivandonal osullivandonal requested review from a team as code owners February 23, 2026 09:18
Comment thread docs/registry/entities/process.md Outdated
@osullivandonal
Copy link
Copy Markdown
Contributor Author

It was decided in the System semconv WG SIG that this PR is to just update the process attribute requirement levels, other work such as moving process.executable to its own entity can be discussed after this PR is merged in a new issue. cc. @open-telemetry/semconv-system-approvers

@github-project-automation github-project-automation Bot moved this from Untriaged to Needs More Approval in Semantic Conventions Triage Mar 5, 2026
@ChrsMark ChrsMark moved this from Needs More Approval to Ready to be Merged in Semantic Conventions Triage Mar 5, 2026
@ChrsMark ChrsMark moved this from Ready to be Merged to Needs More Approval in Semantic Conventions Triage Mar 5, 2026
@ChrsMark ChrsMark moved this from Needs More Approval to Ready to be Merged in Semantic Conventions Triage Mar 5, 2026
@ChrsMark
Copy link
Copy Markdown
Member

ChrsMark commented Mar 5, 2026

@open-telemetry/specs-semconv-maintainers this one is approved by the SIG, please take a look.

@github-project-automation github-project-automation Bot moved this from Ready to be Merged to Needs More Approval in Semantic Conventions Triage Mar 9, 2026
@lmolkova lmolkova added this pull request to the merge queue Mar 9, 2026
Merged via the queue into open-telemetry:main with commit d65b820 Mar 9, 2026
21 checks passed
@osullivandonal osullivandonal deleted the update-process-identifiers-to-required branch March 9, 2026 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

8 participants