Fix: Correct namespace historical analysis function to use cluster status API
This commit is contained in:
@@ -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');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user