https://github.com/cloudflare/psi_exporter
Prometheus exporter for Pressure Stall Information (PSI) from Linux kernel.
https://github.com/cloudflare/psi_exporter
cgroups cgroups-v2 linux-kernel performance prometheus-exporter psi
Last synced: 8 months ago
JSON representation
Prometheus exporter for Pressure Stall Information (PSI) from Linux kernel.
- Host: GitHub
- URL: https://github.com/cloudflare/psi_exporter
- Owner: cloudflare
- License: mit
- Created: 2019-10-14T23:36:49.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-03-09T18:17:44.000Z (over 1 year ago)
- Last Synced: 2024-04-14T22:17:13.701Z (over 1 year ago)
- Topics: cgroups, cgroups-v2, linux-kernel, performance, prometheus-exporter, psi
- Language: Rust
- Homepage:
- Size: 35.2 KB
- Stars: 47
- Watchers: 6
- Forks: 8
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# psi_exporter
Prometheus exporter for [Pressure Stall Information] (PSI) from Linux kernel.
## Requirements
Kernel must support PSI (`CONFIG_PSI=y`), which requires at least Linux 4.20.
## Exported metric
The following metrics are exported:
```
$ curl -s http://ip6-localhost:12345/ | grep -E '(journald|^#)'
# HELP pressure_avg_10s_ratio Ratio of time spent under pressure in the last 10s at time of measurement
# TYPE pressure_avg_10s_ratio gauge
pressure_avg_10s_ratio{controller="cpu",id="/system.slice/systemd-journald.service",kind="some"} 0
pressure_avg_10s_ratio{controller="io",id="/system.slice/systemd-journald.service",kind="full"} 0
pressure_avg_10s_ratio{controller="io",id="/system.slice/systemd-journald.service",kind="some"} 0
pressure_avg_10s_ratio{controller="memory",id="/system.slice/systemd-journald.service",kind="full"} 0
pressure_avg_10s_ratio{controller="memory",id="/system.slice/systemd-journald.service",kind="some"} 0
# HELP pressure_avg_300s_ratio Ratio of time spent under pressure in the last 300s at time of measurement
# TYPE pressure_avg_300s_ratio gauge
pressure_avg_300s_ratio{controller="cpu",id="/system.slice/systemd-journald.service",kind="some"} 0
pressure_avg_300s_ratio{controller="io",id="/system.slice/systemd-journald.service",kind="full"} 0
pressure_avg_300s_ratio{controller="io",id="/system.slice/systemd-journald.service",kind="some"} 0
pressure_avg_300s_ratio{controller="memory",id="/system.slice/systemd-journald.service",kind="full"} 0
pressure_avg_300s_ratio{controller="memory",id="/system.slice/systemd-journald.service",kind="some"} 0
# HELP pressure_avg_60s_ratio Ratio of time spent under pressure in the last 60s at time of measurement
# TYPE pressure_avg_60s_ratio gauge
pressure_avg_60s_ratio{controller="cpu",id="/system.slice/systemd-journald.service",kind="some"} 0
pressure_avg_60s_ratio{controller="io",id="/system.slice/systemd-journald.service",kind="full"} 0
pressure_avg_60s_ratio{controller="io",id="/system.slice/systemd-journald.service",kind="some"} 0
pressure_avg_60s_ratio{controller="memory",id="/system.slice/systemd-journald.service",kind="full"} 0
pressure_avg_60s_ratio{controller="memory",id="/system.slice/systemd-journald.service",kind="some"} 0
# HELP pressure_total_seconds Total time spent under pressure
# TYPE pressure_total_seconds counter
pressure_total_seconds{controller="cpu",id="/system.slice/systemd-journald.service",kind="some"} 0.001546
pressure_total_seconds{controller="io",id="/system.slice/systemd-journald.service",kind="full"} 1.367656
pressure_total_seconds{controller="io",id="/system.slice/systemd-journald.service",kind="some"} 1.371462
pressure_total_seconds{controller="memory",id="/system.slice/systemd-journald.service",kind="full"} 0
pressure_total_seconds{controller="memory",id="/system.slice/systemd-journald.service",kind="some"} 0
```## Usage
* `--metrics.disable-avg` disables reporting of averages.
* `--metrics.silence-zeros` silences reporting of zero values.## License
MIT
[Pressure Stall Information]: https://www.kernel.org/doc/html/latest/accounting/psi.html