diff --git a/client/src/pages/docker/DockerMonitors.tsx b/client/src/pages/docker/DockerMonitors.tsx index 3018449bb..56cb963d0 100644 --- a/client/src/pages/docker/DockerMonitors.tsx +++ b/client/src/pages/docker/DockerMonitors.tsx @@ -61,6 +61,7 @@ const DockerMonitorsPage = () => { } ); const monitors: IMonitor[] = response?.data?.monitors ?? ([] as IMonitor[]); + const checksMap = response?.data?.checksMap || {}; const count = response?.data?.count || 0; const upCount = response?.data?.upCount || 0; const downCount = response?.data?.downCount || 0; @@ -107,6 +108,7 @@ const DockerMonitorsPage = () => { ; count: number; page: number; setPage: (page: number) => void; @@ -119,7 +124,7 @@ export const DockerMonitorsTable = ({ ), render: (row) => { const containerCount = ( - row.latestChecks?.[0]?.dockerContainers || [] + checksMap[row._id]?.[0]?.dockerContainers || [] ).filter((c: any) => c?.running).length; return containerCount; }, diff --git a/client/src/pages/infrastructure/InfraMonitors.tsx b/client/src/pages/infrastructure/InfraMonitors.tsx index a82d38fb7..aa797363f 100644 --- a/client/src/pages/infrastructure/InfraMonitors.tsx +++ b/client/src/pages/infrastructure/InfraMonitors.tsx @@ -61,6 +61,7 @@ const InfraMonitorsPage = () => { } ); const monitors: IMonitor[] = response?.data?.monitors ?? ([] as IMonitor[]); + const checksMap = response?.data?.checksMap || {}; const count = response?.data?.count || 0; const upCount = response?.data?.upCount || 0; const downCount = response?.data?.downCount || 0; @@ -107,6 +108,7 @@ const InfraMonitorsPage = () => { ; refetch: Function; setSelectedMonitor: Function; sortField: string; @@ -194,7 +197,9 @@ export const InfraMonitorsTable = ({ ), render: (row) => { return ( - + ); }, }, @@ -203,7 +208,7 @@ export const InfraMonitorsTable = ({ content: t("monitors.infrastructure.table.headers.cpu"), render: (row) => { const cpuUsage = - (row.latestChecks?.[0]?.system?.cpu?.usage_percent || 0) * 100; + (checksMap[row._id]?.[0]?.system?.cpu?.usage_percent || 0) * 100; return ; }, }, @@ -212,7 +217,7 @@ export const InfraMonitorsTable = ({ content: t("monitors.infrastructure.table.headers.memory"), render: (row) => { const memoryUsage = - (row.latestChecks?.[0]?.system?.memory?.usage_percent || 0) * 100; + (checksMap[row._id]?.[0]?.system?.memory?.usage_percent || 0) * 100; return ; }, }, @@ -220,11 +225,11 @@ export const InfraMonitorsTable = ({ id: "disk", content: t("monitors.infrastructure.table.headers.disk"), render: (row) => { - const totalDiskUsage = row.latestChecks?.[0]?.system?.disk?.reduce( + const totalDiskUsage = checksMap[row._id]?.[0]?.system?.disk?.reduce( (acc, disk) => acc + disk.usage_percent, 0 ); - const diskCount = row.latestChecks?.[0]?.system?.disk?.length || 1; + const diskCount = checksMap[row._id]?.[0]?.system?.disk?.length || 1; const diskUsage = ((totalDiskUsage || 0) / diskCount) * 100; return ; }, diff --git a/client/src/pages/pagespeed/PageSpeedMonitorTable.tsx b/client/src/pages/pagespeed/PageSpeedMonitorTable.tsx index 57262c452..56c6fc68b 100644 --- a/client/src/pages/pagespeed/PageSpeedMonitorTable.tsx +++ b/client/src/pages/pagespeed/PageSpeedMonitorTable.tsx @@ -13,11 +13,13 @@ import { useTheme } from "@mui/material/styles"; import { useNavigate } from "react-router-dom"; import { usePatch } from "@/hooks/UseApi"; +import type { ICheck } from "@/types/check"; import type { IMonitor } from "@/types/monitor"; import type { ActionMenuItem } from "@/components/actions-menu"; export const PageSpeedMonitorTable = ({ monitors, + checksMap, refetch, setSelectedMonitor, sortField, @@ -31,6 +33,7 @@ export const PageSpeedMonitorTable = ({ setRowsPerPage, }: { monitors: IMonitor[]; + checksMap: Record; refetch: Function; setSelectedMonitor: Function; sortField: string; @@ -204,7 +207,7 @@ export const PageSpeedMonitorTable = ({ return ( diff --git a/client/src/pages/pagespeed/PageSpeedMonitors.tsx b/client/src/pages/pagespeed/PageSpeedMonitors.tsx index 22694cb2f..4d0e7f00c 100644 --- a/client/src/pages/pagespeed/PageSpeedMonitors.tsx +++ b/client/src/pages/pagespeed/PageSpeedMonitors.tsx @@ -62,6 +62,7 @@ const PageSpeedMonitorsPage = () => { } ); const monitors: IMonitor[] = response?.data?.monitors ?? ([] as IMonitor[]); + const checksMap = response?.data?.checksMap || {}; const count = response?.data?.count || 0; const upCount = response?.data?.upCount || 0; const downCount = response?.data?.downCount || 0; @@ -108,6 +109,7 @@ const PageSpeedMonitorsPage = () => {