-
Notifications
You must be signed in to change notification settings - Fork 278
Description
Area(s)
area:system
Propose new conventions
Linux Pressure Stall Information (PSI) metrics provide valuable insights into resource pressure on CPU, memory, and I/O subsystems, available on Linux systems with kernel 4.20+.
PSI includes 20 new metric instruments:
- CPU:
system.psi.cpu.some.*(avg10, avg60, avg300, total) - Memory:
system.psi.memory.some.*andsystem.psi.memory.full.*(avg10, avg60, avg300, total for each) - I/O:
system.psi.io.some.*andsystem.psi.io.full.*(avg10, avg60, avg300, total for each)
Where "some" indicates some tasks are stalled and "full" indicates all tasks are stalled. The avg* metrics represent pressure averages over 10, 60, and 300 second windows, while total metrics track cumulative stall time in microseconds.
PSI metrics can be automatically collected alongside existing host metrics when running on Linux systems with PSI support. On non-Linux systems or when PSI is unavailable, the implementation gracefully degrades with no impact.
Additional Context
- Linux PSI documentation: https://docs.kernel.org/accounting/psi.html
- PSI has been backported to some older LTS kernels
- Prometheus node_exporter already exposes these metrics: https://github.com/prometheus/node_exporter
Open Telemetry integration details
There are issues on this matter in:
- [receiver/hostmetrics] Pressure Stall Information (PSI) from linux hosts opentelemetry-collector-contrib#42779
- [Feature]: Pressure Stall Information (PSI) from linux hosts opentelemetry-go-contrib#8082
And 2 PRs that I am proposing to address these issues:
- [receiver/hostmetrics] Add Pressure Stall Information (PSI) scraper opentelemetry-collector-contrib#43823
- feat: add pressure stall information (PSI) to host instrumentation opentelemetry-go-contrib#8083
Tip
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status