From 8b45d9cad5d7a5ca9a9414348dd92f36821e998a Mon Sep 17 00:00:00 2001 From: nassery318 Date: Mon, 14 Sep 2026 13:09:45 -0400 Subject: [PATCH] address cluster aggregation view comments about node failover and maxmemory Signed-off-by: nassery318 --- .../components/cluster-topology/Cluster.tsx | 8 ++- .../cluster-topology/cluster-node-row.tsx | 27 +++++----- .../cluster/clusterSelectors.ts | 15 +++--- .../valkey-features/cluster/clusterSlice.ts | 14 +++-- .../cluster/clusterUtilization.ts | 12 +++++ apps/server/src/actions/cluster.ts | 6 +-- apps/server/src/actions/connection.ts | 4 +- apps/server/src/set-dashboard-data.ts | 54 ++++++++++++++++++- 8 files changed, 99 insertions(+), 41 deletions(-) diff --git a/apps/frontend/src/components/cluster-topology/Cluster.tsx b/apps/frontend/src/components/cluster-topology/Cluster.tsx index c87cdba3..9cb0d4aa 100644 --- a/apps/frontend/src/components/cluster-topology/Cluster.tsx +++ b/apps/frontend/src/components/cluster-topology/Cluster.tsx @@ -16,7 +16,7 @@ import { TableContainer } from "../ui/table-container" import { StaticTableHeader } from "../ui/sortable-table-header" import { ClusterNodeRow } from "./cluster-node-row" import type { RootState } from "@/store.ts" -import { getUtilizationLevel, type UtilizationLevel } from "@/state/valkey-features/cluster/clusterUtilization" +import { getNodeUtilizationLevel, type UtilizationLevel } from "@/state/valkey-features/cluster/clusterUtilization" import { selectCluster, selectClusterNodeRows, selectClusterMetrics } from "@/state/valkey-features/cluster/clusterSelectors" @@ -75,8 +75,7 @@ export function Cluster() { const matchesSearch = !searchQuery || clusterData.searchableText[row.searchKey]?.includes(searchQuery) const matchesRole = roleFilter === "all" || row.role === roleFilter - const rowUtilization = clusterData.utilization?.[row.dataKey] - const level = getUtilizationLevel(rowUtilization?.memory_utilization_percent, rowUtilization?.cpu_utilization_percent) + const level = getNodeUtilizationLevel(clusterData.utilization?.[row.dataKey]) const matchesUtilization = utilizationFilter === "all" || (row.role === "primary" && level === utilizationFilter) @@ -110,7 +109,7 @@ export function Cluster() {
setSearchQuery(e.target.value.toLowerCase())} - placeholder="Search nodes by name, host, or port..." + placeholder="Search nodes by host, or port..." value={searchQuery} />