From fae1d6fb184f1b54e0b41f4d30a8bc26bf15ab02 Mon Sep 17 00:00:00 2001 From: andersonid Date: Wed, 1 Oct 2025 14:57:27 -0300 Subject: [PATCH] Fix workload metrics API pod name matching - Use regex pattern pod=~"{workload}.*" in workload metrics API - This matches the fix applied to historical analysis - Should resolve issue where resource-governance workload data was not being retrieved - Both historical analysis and workload metrics now use consistent pod name matching --- app/api/routes.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/api/routes.py b/app/api/routes.py index e5e5cd0..9722990 100644 --- a/app/api/routes.py +++ b/app/api/routes.py @@ -520,15 +520,15 @@ async def get_workload_historical_metrics( cluster_memory_total += float(result["value"][1]) # Get workload-specific metrics using more precise queries - # CPU usage for specific pod (using exact pod name match) - cpu_usage_query = f'rate(container_cpu_usage_seconds_total{{namespace="{namespace}", pod="{workload}"}}[5m])' - memory_usage_query = f'container_memory_working_set_bytes{{namespace="{namespace}", pod="{workload}", container!="", image!=""}}' + # CPU usage for specific pod (using regex pattern to match pod name with suffix) + cpu_usage_query = f'rate(container_cpu_usage_seconds_total{{namespace="{namespace}", pod=~"{workload}.*"}}[5m])' + memory_usage_query = f'container_memory_working_set_bytes{{namespace="{namespace}", pod=~"{workload}.*", container!="", image!=""}}' # Resource requests and limits for specific pod - cpu_requests_query = f'sum(kube_pod_container_resource_requests{{namespace="{namespace}", pod="{workload}", resource="cpu"}})' - memory_requests_query = f'sum(kube_pod_container_resource_requests{{namespace="{namespace}", pod="{workload}", resource="memory"}})' - cpu_limits_query = f'sum(kube_pod_container_resource_limits{{namespace="{namespace}", pod="{workload}", resource="cpu"}})' - memory_limits_query = f'sum(kube_pod_container_resource_limits{{namespace="{namespace}", pod="{workload}", resource="memory"}})' + cpu_requests_query = f'sum(kube_pod_container_resource_requests{{namespace="{namespace}", pod=~"{workload}.*", resource="cpu"}})' + memory_requests_query = f'sum(kube_pod_container_resource_requests{{namespace="{namespace}", pod=~"{workload}.*", resource="memory"}})' + cpu_limits_query = f'sum(kube_pod_container_resource_limits{{namespace="{namespace}", pod=~"{workload}.*", resource="cpu"}})' + memory_limits_query = f'sum(kube_pod_container_resource_limits{{namespace="{namespace}", pod=~"{workload}.*", resource="memory"}})' # Execute queries cpu_usage_data = await prometheus_client.query(cpu_usage_query)