diff --git a/public/js/app.js b/public/js/app.js
index 1c2fbdc..aa45588 100644
--- a/public/js/app.js
+++ b/public/js/app.js
@@ -1340,6 +1340,7 @@
const cpuValueHtml = `
${formatPercent(data.cpuBusy)}
+ (IO Wait: ${data.cpuIowait.toFixed(1)}%, Busy Others: ${data.cpuOther.toFixed(1)}%)
`;
// Define metrics to show
diff --git a/server/prometheus-service.js b/server/prometheus-service.js
index 3ff45e3..49f12fe 100644
--- a/server/prometheus-service.js
+++ b/server/prometheus-service.js
@@ -549,6 +549,8 @@ async function getServerDetails(baseUrl, instance, job) {
// Queries based on the requested dashboard structure
const queries = {
+ cpuIowait: `avg(rate(node_cpu_seconds_total{mode="iowait", instance="${node}"}[1m])) * 100`,
+ cpuOther: `avg(rate(node_cpu_seconds_total{mode=~"nice|steal|guest|guest_nice", instance="${node}"}[1m])) * 100`,
cpuBusy: `100 * (1 - avg(rate(node_cpu_seconds_total{mode="idle", instance="${node}"}[1m])))`,
sysLoad: `node_load1{instance="${node}",job="${job}"} * 100 / count(count(node_cpu_seconds_total{instance="${node}",job="${job}"}) by (cpu))`,
memUsedPct: `(1 - (node_memory_MemAvailable_bytes{instance="${node}", job="${job}"} / node_memory_MemTotal_bytes{instance="${node}", job="${job}"})) * 100`,