You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
note: "Add Linux PSI (Pressure Stall Information) metrics `system.linux.psi.pressure` and `system.linux.psi.total_time` for measuring resource contention."
6
+
7
+
issues: [2995]
8
+
9
+
subtext: |
10
+
PSI metrics track CPU, memory, and I/O resource pressure by measuring the percentage of time tasks are stalled.
11
+
These metrics help with workload sizing, detecting productivity losses, and dynamic system management.
|`used`| used ||
119
120
121
+
## System PSI (Pressure Stall Information) Attributes
122
+
123
+
Describes Linux Pressure Stall Information attributes
124
+
125
+
**Attributes:**
126
+
127
+
| Key | Stability | Value Type | Description | Example Values |
128
+
|---|---|---|---|---|
129
+
| <aid="system-psi-resource"href="#system-psi-resource">`system.psi.resource`</a> || string | The PSI resource being measured [2]|`cpu`; `memory`; `io`|
130
+
| <aid="system-psi-stall-type"href="#system-psi-stall-type">`system.psi.stall_type`</a> || string | The PSI stall type [3]|`some`; `full`|
131
+
| <aid="system-psi-window"href="#system-psi-window">`system.psi.window`</a> || string | The time window for PSI pressure calculation [4]|`10s`; `60s`; `300s`|
132
+
133
+
**[2]`system.psi.resource`:** Linux PSI (Pressure Stall Information) measures resource pressure for CPU, memory, and I/O. See [Linux kernel PSI documentation](https://docs.kernel.org/accounting/psi.html).
134
+
135
+
**[3]`system.psi.stall_type`:** PSI distinguishes between "some" stall (at least some tasks stalled) and "full" stall (all non-idle tasks stalled simultaneously).
136
+
137
+
**[4]`system.psi.window`:** PSI tracks pressure as percentages over 10-second, 60-second, and 300-second windows. This attribute identifies which time window the metric represents.
138
+
139
+
---
140
+
141
+
`system.psi.resource` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
142
+
143
+
| Value | Description | Stability |
144
+
|---|---|---|
145
+
|`cpu`| CPU resource pressure ||
`system.psi.stall_type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
152
+
153
+
| Value | Description | Stability |
154
+
|---|---|---|
155
+
|`full`| All non-idle tasks are stalled on the resource simultaneously [5]||
156
+
|`some`| At least some tasks are stalled on the resource [6]||
157
+
158
+
**[5]:** The "full" line indicates the share of time in which all non-idle tasks are stalled on a given resource simultaneously. This represents a state where actual CPU cycles are going to waste and the workload is thrashing. CPU full is undefined at the system level and is set to zero for backward compatibility (available since Linux 5.13).
159
+
160
+
**[6]:** The "some" line indicates the share of time in which at least some tasks are stalled on a given resource.
|`system.linux.psi.pressure`| Gauge |`1`| Linux Pressure Stall Information (PSI) metric measuring resource contention as percentage of time. [1]||[`host`](/docs/registry/entities/host.md#host)|
1330
+
1331
+
**[1]:** PSI (Pressure Stall Information) identifies and quantifies resource contention.
1332
+
The metric represents the percentage of time that tasks were stalled on a given resource
1333
+
over the specified time window.
1334
+
1335
+
The "some" stall type indicates at least some tasks are stalled on the resource.
1336
+
The "full" stall type indicates all non-idle tasks are stalled simultaneously, representing
1337
+
a more severe state where the system is thrashing and CPU cycles are wasted.
1338
+
1339
+
PSI is available on Linux systems with kernel 4.20 or later and requires CONFIG_PSI=y.
1340
+
CPU "full" stall is reported as zero at the system level for backward compatibility (available since 5.13).
1341
+
1342
+
Values are percentages in the range [0, 100]. The ratios are tracked over 10-second, 60-second,
1343
+
and 300-second windows.
1344
+
1345
+
See [Linux kernel PSI documentation](https://docs.kernel.org/accounting/psi.html) and
| Key | Stability |[Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/)| Value Type | Description | Example Values |
1351
+
|---|---|---|---|---|---|
1352
+
|[`system.psi.resource`](/docs/registry/attributes/system.md)||`Required`| string | The resource experiencing pressure (cpu, memory, or io) [1]|`cpu`; `memory`; `io`|
1353
+
|[`system.psi.stall_type`](/docs/registry/attributes/system.md)||`Required`| string | The stall type (some or full) [2]|`some`; `full`|
1354
+
|[`system.psi.window`](/docs/registry/attributes/system.md)||`Required`| string | The time window over which pressure is calculated [3]|`10s`; `60s`; `300s`|
1355
+
1356
+
**[1]`system.psi.resource`:** Linux PSI (Pressure Stall Information) measures resource pressure for CPU, memory, and I/O. See [Linux kernel PSI documentation](https://docs.kernel.org/accounting/psi.html).
1357
+
1358
+
**[2]`system.psi.stall_type`:** PSI distinguishes between "some" stall (at least some tasks stalled) and "full" stall (all non-idle tasks stalled simultaneously).
1359
+
1360
+
**[3]`system.psi.window`:** Typically one of: 10s, 60s, or 300s
1361
+
1362
+
---
1363
+
1364
+
`system.psi.resource` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
1365
+
1366
+
| Value | Description | Stability |
1367
+
|---|---|---|
1368
+
|`cpu`| CPU resource pressure ||
`system.psi.stall_type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
1375
+
1376
+
| Value | Description | Stability |
1377
+
|---|---|---|
1378
+
|`full`| All non-idle tasks are stalled on the resource simultaneously [4]||
1379
+
|`some`| At least some tasks are stalled on the resource [5]||
1380
+
1381
+
**[4]:** The "full" line indicates the share of time in which all non-idle tasks are stalled on a given resource simultaneously. This represents a state where actual CPU cycles are going to waste and the workload is thrashing. CPU full is undefined at the system level and is set to zero for backward compatibility (available since Linux 5.13).
1382
+
1383
+
**[5]:** The "some" line indicates the share of time in which at least some tasks are stalled on a given resource.
|`system.linux.psi.total_time`| Counter |`us`| Linux Pressure Stall Information (PSI) total cumulative stall time. [1]||[`host`](/docs/registry/entities/host.md#host)|
1404
+
1405
+
**[1]:** This metric tracks the total absolute stall time in microseconds since system boot.
1406
+
Unlike the percentage-based `system.linux.psi.pressure` metric, this allows detection
1407
+
of latency spikes that wouldn't necessarily make a noticeable impact on time averages.
1408
+
It also enables calculating average trends over custom time frames.
1409
+
1410
+
The "some" stall type indicates at least some tasks are stalled on the resource.
1411
+
The "full" stall type indicates all non-idle tasks are stalled simultaneously.
1412
+
1413
+
PSI is available on Linux systems with kernel 4.20 or later and requires CONFIG_PSI=y.
1414
+
CPU "full" stall is reported as zero at the system level for backward compatibility (available since 5.13).
1415
+
1416
+
This is a monotonically increasing counter that resets on system reboot.
1417
+
1418
+
See [Linux kernel PSI documentation](https://docs.kernel.org/accounting/psi.html) and
| Key | Stability |[Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/)| Value Type | Description | Example Values |
1424
+
|---|---|---|---|---|---|
1425
+
|[`system.psi.resource`](/docs/registry/attributes/system.md)||`Required`| string | The resource experiencing pressure (cpu, memory, or io) [1]|`cpu`; `memory`; `io`|
1426
+
|[`system.psi.stall_type`](/docs/registry/attributes/system.md)||`Required`| string | The stall type (some or full) [2]|`some`; `full`|
1427
+
1428
+
**[1]`system.psi.resource`:** Linux PSI (Pressure Stall Information) measures resource pressure for CPU, memory, and I/O. See [Linux kernel PSI documentation](https://docs.kernel.org/accounting/psi.html).
1429
+
1430
+
**[2]`system.psi.stall_type`:** PSI distinguishes between "some" stall (at least some tasks stalled) and "full" stall (all non-idle tasks stalled simultaneously).
1431
+
1432
+
---
1433
+
1434
+
`system.psi.resource` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
1435
+
1436
+
| Value | Description | Stability |
1437
+
|---|---|---|
1438
+
|`cpu`| CPU resource pressure ||
`system.psi.stall_type` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
1445
+
1446
+
| Value | Description | Stability |
1447
+
|---|---|---|
1448
+
|`full`| All non-idle tasks are stalled on the resource simultaneously [3]||
1449
+
|`some`| At least some tasks are stalled on the resource [4]||
1450
+
1451
+
**[3]:** The "full" line indicates the share of time in which all non-idle tasks are stalled on a given resource simultaneously. This represents a state where actual CPU cycles are going to waste and the workload is thrashing. CPU full is undefined at the system level and is set to zero for backward compatibility (available since Linux 5.13).
1452
+
1453
+
**[4]:** The "some" line indicates the share of time in which at least some tasks are stalled on a given resource.
0 commit comments