Skip to content

Use procfs for CPU and process collection - #292

Open
salemmoustafa wants to merge 3 commits into
developmentfrom
bugfix/DCERR-706-process-procfs
Open

salemmoustafa wants to merge 3 commits into
developmentfrom
bugfix/DCERR-706-process-procfs

Conversation

@salemmoustafa

@salemmoustafa salemmoustafa commented Sep 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

Replaces the ProcessPlugin's top and rocm-smi collection with distro-independent /proc sampling. Removes KFD process analysis and updates configuration, tests, and documentation.

Test plan

  • pytest test/unit
  • pytest test/functional (if applicable) — focused ProcessPlugin test passed locally; full suite passed in CI
  • pre-commit run --all-files

Checklist

  • Added/updated tests (or explained why not)
  • Updated docs/README if behavior changed
  • No secrets or credentials committed

Copilot AI lite review requested due to automatic review settings September 21, 2026 19:28
@github-actions github-actions Bot added documentation Improvements or additions to documentation tests plugins-inband labels Sep 21, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Four unresolved moderate issues remain in procfs process collection.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 3 Medium severity

Open (3)
What changed in this PR

Ports process collection from rocm-smi/top to /proc, removing KFD analysis and updating configuration, tests, and documentation.

Changes:

  • Adds procfs-based CPU and process sampling.
  • Removes KFD fields, limits, and obsolete configuration.
  • Updates tests, fixtures, and plugin documentation.
File Changes and review notes
test/​unit/​plugin/​test_process_collector.py Updates procfs collection and parsing tests.
test/​unit/​plugin/​test_process_analyzer.py Updates analyzer tests.
test/​unit/​plugin/​test_analyzer_args_build_from_model.py Updates argument construction tests.
test/​functional/​fixtures/​process_plugin_config.json Removes obsolete KFD configuration.
nodescraper/​plugins/​inband/​process/​processdata.py Removes KFD data from the process model.
nodescraper/​plugins/​inband/​process/​process_collector.py Implements procfs collection. Four unresolved moderate issues remain: robustly parse names containing parentheses, rank only currently running processes, exclude guest CPU fields from totals, and apply the PID fallback when name lookup returns an empty value.
nodescraper/​plugins/​inband/​process/​process_analyzer.py Analyzes aggregate CPU usage without KFD data.
nodescraper/​plugins/​inband/​process/​collector_args.py Adds sampling interval configuration.
nodescraper/​plugins/​inband/​process/​analyzer_args.py Removes the KFD limit argument.
docs/​PLUGIN_DOC.md Documents the new procfs behavior.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread nodescraper/plugins/inband/process/process_collector.py Outdated
Comment thread nodescraper/plugins/inband/process/process_collector.py Outdated
Comment thread nodescraper/plugins/inband/process/process_collector.py Outdated
@salemmoustafa salemmoustafa changed the title bugfix/DCERR-706-process-procfs Use procfs for CPU and process collection Sep 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation plugins-inband tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants