From 757a2c86698246ddc0c169e73cf99d75b1f4d0c8 Mon Sep 17 00:00:00 2001 From: Andrew Collins Date: Tue, 19 May 2026 13:08:04 -0700 Subject: [PATCH 1/2] A few bugs in ocp-perf dashboard that have gone unnoticed for some time Signed-off-by: Andrew Collins --- assets/ocp-performance/queries.libsonnet | 12 ++++++------ assets/ocp-performance/variables.libsonnet | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/assets/ocp-performance/queries.libsonnet b/assets/ocp-performance/queries.libsonnet index 9f9e601..51979b9 100644 --- a/assets/ocp-performance/queries.libsonnet +++ b/assets/ocp-performance/queries.libsonnet @@ -31,19 +31,19 @@ local generateTimeSeriesQuery(query, legend) = [ }, workersCGroupCpuRate: { query(): - generateTimeSeriesQuery('sum by (id) (( rate(container_cpu_usage_seconds_total{ job=~".*", id =~"/system.slice|/system.slice/kubelet.service|/.*/ovs-vswitchd.service|/system.slice/crio.service|/system.slice/systemd-journald.service|/.*/ovsdb-server.service|/system.slice/systemd-udevd.service|/kubepods.slice"}[$interval])) * 100 * on (node) group_left kube_node_role{ role = "worker" } )', '{{instance}}'), + generateTimeSeriesQuery('sum by (id) (( rate(container_cpu_usage_seconds_total{ job=~".*", id =~"/system.slice|/system.slice/kubelet.service|/.*/ovs-vswitchd.service|/system.slice/crio.service|/system.slice/systemd-journald.service|/.*/ovsdb-server.service|/system.slice/systemd-udevd.service|/kubepods.slice"}[$interval])) * 100 * on (node) group_left kube_node_role{ role = "worker" } )', '{{node}}'), }, controlPlaneCGroupCpuRate: { query(): - generateTimeSeriesQuery('sum by (id) (( rate(container_cpu_usage_seconds_total{ job=~".*", id =~"/system.slice|/system.slice/kubelet.service|/.*/ovs-vswitchd.service|/system.slice/crio.service|/system.slice/systemd-journald.service|/.*/ovsdb-server.service|/system.slice/systemd-udevd.service|/kubepods.slice"}[$interval])) * 100 * on (node) group_left kube_node_role{ role = "control-plane" } )', '{{instance}}'), + generateTimeSeriesQuery('sum by (id) (( rate(container_cpu_usage_seconds_total{ job=~".*", id =~"/system.slice|/system.slice/kubelet.service|/.*/ovs-vswitchd.service|/system.slice/crio.service|/system.slice/systemd-journald.service|/.*/ovsdb-server.service|/system.slice/systemd-udevd.service|/kubepods.slice"}[$interval])) * 100 * on (node) group_left kube_node_role{ role = "control-plane" } )', '{{node}}'), }, workersCGroupMemoryRSS: { query(): - generateTimeSeriesQuery('sum by (id) ( container_memory_rss{ job=~".*", id =~"/system.slice|/system.slice/kubelet.service|/.*/ovs-vswitchd.service|/system.slice/crio.service|/system.slice/systemd-journald.service|/.*/ovsdb-server.service|/system.slice/systemd-udevd.service|/kubepods.slice"} * on (node) group_left kube_node_role{ role = "worker" } )', '{{instance}}'), + generateTimeSeriesQuery('sum by (id) ( container_memory_rss{ job=~".*", id =~"/system.slice|/system.slice/kubelet.service|/.*/ovs-vswitchd.service|/system.slice/crio.service|/system.slice/systemd-journald.service|/.*/ovsdb-server.service|/system.slice/systemd-udevd.service|/kubepods.slice"} * on (node) group_left kube_node_role{ role = "worker" } )', '{{id}}'), }, controlPlaneCGroupMemoryRSS: { query(): - generateTimeSeriesQuery('sum by (id) ( container_memory_rss{ job=~".*", id =~"/system.slice|/system.slice/kubelet.service|/.*/ovs-vswitchd.service|/system.slice/crio.service|/system.slice/systemd-journald.service|/.*/ovsdb-server.service|/system.slice/systemd-udevd.service|/kubepods.slice"} * on (node) group_left kube_node_role{ role = "control-plane" } )', '{{instance}}'), + generateTimeSeriesQuery('sum by (id) ( container_memory_rss{ job=~".*", id =~"/system.slice|/system.slice/kubelet.service|/.*/ovs-vswitchd.service|/system.slice/crio.service|/system.slice/systemd-journald.service|/.*/ovsdb-server.service|/system.slice/systemd-udevd.service|/kubepods.slice"} * on (node) group_left kube_node_role{ role = "control-plane" } )', '{{id}}'), }, workersMemoryAvailable: { query(): @@ -57,11 +57,11 @@ local generateTimeSeriesQuery(query, legend) = [ }, workersContainerThreads: { query(): - generateTimeSeriesQuery('sum by (node) (container_threads{ container!=""}) * on (node) group_left kube_node_role{ role = "worker" }', '{{instance}}'), + generateTimeSeriesQuery('sum by (node) (container_threads{ container!=""}) * on (node) group_left kube_node_role{ role = "worker" }', '{{node}}'), }, controlPlaneContainerThreads: { query(): - generateTimeSeriesQuery('sum by (node) (container_threads{ container!=""}) * on (node) group_left kube_node_role{ role = "control-plane" }', '{{instance}}'), + generateTimeSeriesQuery('sum by (node) (container_threads{ container!=""}) * on (node) group_left kube_node_role{ role = "control-plane" }', '{{node}}'), }, workersIOPS: { query(): diff --git a/assets/ocp-performance/variables.libsonnet b/assets/ocp-performance/variables.libsonnet index ac79c23..5a788b5 100644 --- a/assets/ocp-performance/variables.libsonnet +++ b/assets/ocp-performance/variables.libsonnet @@ -47,11 +47,11 @@ local var = g.dashboard.variable; + var.query.withDatasourceFromVariable(self.Datasource) + var.query.queryTypes.withLabelValues( 'namespace', - 'kube_pod_info{namespace!="(cluster-density.*|node-density-.*)"}', + 'kube_pod_info{namespace!~"(cluster-density.*|node-density-.*)"}', ) + var.query.withRefresh(2) + var.query.withRegex('') - + var.query.selectionOptions.withMulti(false) + + var.query.selectionOptions.withMulti(true) + var.query.selectionOptions.withIncludeAll(true) + var.query.generalOptions.withLabel('Namespace'), From 22f6cf0957a5ec5186b9696124976bb393c09c1b Mon Sep 17 00:00:00 2001 From: Andrew Collins Date: Fri, 26 Sep 2025 16:09:28 -0700 Subject: [PATCH 2/2] Fix broken deployments panel Signed-off-by: Andrew Collins --- assets/ocp-performance/queries.libsonnet | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/ocp-performance/queries.libsonnet b/assets/ocp-performance/queries.libsonnet index 51979b9..549f4d0 100644 --- a/assets/ocp-performance/queries.libsonnet +++ b/assets/ocp-performance/queries.libsonnet @@ -294,7 +294,7 @@ local generateTimeSeriesQuery(query, legend) = [ }, deployCount: { query(): - generateTimeSeriesQuery('count(kube_deployment_labels{})', 'Deployments'), + generateTimeSeriesQuery('count(kube_deployment_spec_replicas)', 'Deployments'), }, servicesCount: { query():