Fix: Correct namespace historical analysis function to use cluster status API

This commit is contained in:
2025-09-29 13:09:01 -03:00
parent e47274b41b
commit e6bb852937

View File

@@ -1653,9 +1653,8 @@
currentNamespace = namespace; currentNamespace = namespace;
try { try {
// Para análise por namespace, vamos usar o primeiro workload encontrado // Para análise por namespace, vamos buscar todos os workloads do namespace
// ou implementar uma análise agregada por namespace const response = await fetch(`/api/v1/cluster/status`);
const response = await fetch(`/api/v1/namespace/${namespace}/status`);
if (!response.ok) { if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`); throw new Error(`HTTP ${response.status}: ${response.statusText}`);
@@ -1663,12 +1662,32 @@
const data = await response.json(); const data = await response.json();
// Por enquanto, vamos usar a análise do primeiro workload // Encontrar o namespace específico
// TODO: Implementar análise agregada por namespace const targetNamespace = data.namespaces.find(ns => ns.namespace === namespace);
const workloads = Object.keys(data.pods || {}); if (!targetNamespace) {
if (workloads.length > 0) { showError('Namespace not found');
const firstWorkload = workloads[0].split('-').slice(0, -2).join('-'); return;
await loadWorkloadHistoricalAnalysis(namespace, firstWorkload, timeRange); }
// Agrupar pods por deployment
const deployments = {};
Object.values(targetNamespace.pods).forEach(pod => {
if (pod.validations && pod.validations.length > 0) {
const deploymentName = pod.pod_name.split('-').slice(0, -2).join('-') || 'unknown';
if (!deployments[deploymentName]) {
deployments[deploymentName] = [];
}
deployments[deploymentName].push(pod);
}
});
// Se há apenas um deployment, usar análise de workload
const deploymentNames = Object.keys(deployments);
if (deploymentNames.length === 1) {
await loadWorkloadHistoricalAnalysis(namespace, deploymentNames[0], timeRange);
} else if (deploymentNames.length > 1) {
// Para múltiplos deployments, usar o primeiro
await loadWorkloadHistoricalAnalysis(namespace, deploymentNames[0], timeRange);
} else { } else {
showError('No workloads found in namespace'); showError('No workloads found in namespace');
} }