docker, infra, and pagespeed

This commit is contained in:
Alex Holliday committed 2026-01-02 20:53:50 +00:00
1 parent 8e6a8e5a06
commit 82cb59ae9e
6 files changed
+26 -7

No files matched your search

@@ -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 = () => {
</Stack>
<DockerMonitorsTable
monitors={monitors}
checksMap={checksMap}
refetch={refetch}
setSelectedMonitor={setSelectedMonitor}
count={count}
@@ -1,15 +1,19 @@
import Typography from "@mui/material/Typography";
import { Table, Pagination, StatusLabel } from "@/components/design-elements";
import { ActionsMenu } from "@/components/actions-menu";
import { usePatch } from "@/hooks/UseApi";
import { useNavigate } from "react-router-dom";
import { useTheme } from "@mui/material/styles";
import type { ICheck } from "@/types/check";
import type { Header } from "@/components/design-elements/Table";
import type { IMonitor } from "@/types/monitor";
import { useTranslation } from "react-i18next";
export const DockerMonitorsTable = ({
monitors,
checksMap,
count,
page,
setPage,
@@ -19,6 +23,7 @@ export const DockerMonitorsTable = ({
setSelectedMonitor,
}: {
monitors: IMonitor[];
checksMap: Record<string, ICheck[]>;
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;
},
@@ -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 = () => {
</Stack>
<InfraMonitorsTable
monitors={monitors}
checksMap={checksMap}
refetch={refetch}
setSelectedMonitor={setSelectedMonitor}
sortField={sortField}
@@ -12,11 +12,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 InfraMonitorsTable = ({
monitors,
checksMap,
refetch,
setSelectedMonitor,
sortField,
@@ -30,6 +32,7 @@ export const InfraMonitorsTable = ({
setRowsPerPage,
}: {
monitors: IMonitor[];
checksMap: Record<string, ICheck[]>;
refetch: Function;
setSelectedMonitor: Function;
sortField: string;
@@ -194,7 +197,9 @@ export const InfraMonitorsTable = ({
),
render: (row) => {
return (
<StatusLabel status={(row.status as any) ?? ("initializing" as any)} />
<StatusLabel
status={(row.status as any) ?? ("initializing" as any)}
/>
);
},
},
@@ -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 <Gauge progress={cpuUsage} />;
},
},
@@ -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 <Gauge progress={memoryUsage} />;
},
},
@@ -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 <Gauge progress={diskUsage} />;
},
@@ -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<string, ICheck[]>;
refetch: Function;
setSelectedMonitor: Function;
sortField: string;
@@ -204,7 +207,7 @@ export const PageSpeedMonitorTable = ({
return (
<Stack alignItems={"center"}>
<HistogramPageSpeed
checks={row.latestChecks ?? []}
checks={checksMap[row._id] ?? []}
status={row.status}
/>
</Stack>
@@ -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 = () => {
</Stack>
<PageSpeedMonitorTable
monitors={monitors}
checksMap={checksMap}
refetch={refetch}
setSelectedMonitor={setSelectedMonitor}
sortField={sortField}