From 42943a33feecd0e3bae83e2a3da519346738326e Mon Sep 17 00:00:00 2001 From: jialin Date: Mon, 12 Jan 2026 14:51:58 +0800 Subject: [PATCH] chore: display allocated vram on instance --- .../components/detail/cluster-basic.tsx | 6 +- .../components/detail/cluster-system-load.tsx | 77 ++++++++++--------- .../services/use-cluster-detail.ts | 1 + .../llmodels/components/catalog-item.tsx | 4 +- .../llmodels/components/instance-item.tsx | 11 +++ 5 files changed, 58 insertions(+), 41 deletions(-) diff --git a/src/pages/cluster-management/components/detail/cluster-basic.tsx b/src/pages/cluster-management/components/detail/cluster-basic.tsx index f7f86e5e..127ef561 100644 --- a/src/pages/cluster-management/components/detail/cluster-basic.tsx +++ b/src/pages/cluster-management/components/detail/cluster-basic.tsx @@ -18,9 +18,9 @@ import { useClusterDetail } from '../../services/use-cluster-detail'; const Container = styled.div` display: flex; - height: 184px; + height: 168px; .left { - padding: 24px 24px; + padding: 16px 24px; width: 160px; display: flex; flex-direction: column; @@ -42,7 +42,7 @@ const Container = styled.div` } .right { flex: 1; - padding-block: 24px; + padding-block: 16px; padding-inline: 0 24px; } `; diff --git a/src/pages/cluster-management/components/detail/cluster-system-load.tsx b/src/pages/cluster-management/components/detail/cluster-system-load.tsx index d42fc8cf..8029916a 100644 --- a/src/pages/cluster-management/components/detail/cluster-system-load.tsx +++ b/src/pages/cluster-management/components/detail/cluster-system-load.tsx @@ -1,5 +1,6 @@ import CardWrapper from '@/components/card-wrapper'; import { Col, Progress, Row } from 'antd'; +import { round } from 'lodash'; import React, { useEffect } from 'react'; import styled from 'styled-components'; import { useClusterSystemLoad } from '../../services/use-cluster-detail'; @@ -22,7 +23,7 @@ const Container = styled.div` .value { display: flex; flex: 1; - gap: 8px; + gap: 12px; flex-direction: column; align-items: flex-start; justify-content: center; @@ -41,34 +42,56 @@ const ClusterSystemLoad: React.FC<{ clusterId: number }> = ({ clusterId }) => { } }, [clusterId]); + const renderStepsProgress = (percent: number) => { + return ( + + ); + }; + + console.log('systemLoad', systemLoad); + return ( - +
GPU Utilization
- 44% - + {`${round(systemLoad.current.gpu, 1)}%`} + {renderStepsProgress(round(systemLoad.current.gpu, 1))}
- +
VRAM Utilization
-
44%
+
{`${round(systemLoad.current.vram, 1)}%`}
= ({ clusterId }) => { - +
CPU Utilization
- 44% - + {`${round(systemLoad.current.cpu, 1)}%`} + {renderStepsProgress(round(systemLoad.current.cpu, 1))}
- +
Memo Utilization
- 44% + {`${round(systemLoad.current.ram, 1)}%`}
diff --git a/src/pages/cluster-management/services/use-cluster-detail.ts b/src/pages/cluster-management/services/use-cluster-detail.ts index f6dc9830..d566b4bf 100644 --- a/src/pages/cluster-management/services/use-cluster-detail.ts +++ b/src/pages/cluster-management/services/use-cluster-detail.ts @@ -39,6 +39,7 @@ export const useClusterSystemLoad = () => { }, { manual: true, + cacheKey: 'cluster-system-load', onSuccess: (response) => { setSystemLoad({ current: response.system_load?.current, diff --git a/src/pages/llmodels/components/catalog-item.tsx b/src/pages/llmodels/components/catalog-item.tsx index fa215f97..bcb57b0d 100644 --- a/src/pages/llmodels/components/catalog-item.tsx +++ b/src/pages/llmodels/components/catalog-item.tsx @@ -136,8 +136,8 @@ const CatalogItem: React.FC = (props) => { }} > {data.activated_size - ? `${data.size}${data.size_unit}-A${data.activated_size}${data.size_unit}` - : `${data.size}${data.size_unit}`} + ? `${data.size}${data.size_unit || 'B'}-A${data.activated_size}${data.size_unit || 'B'}` + : `${data.size}${data.size_unit || 'B'}`} )}
diff --git a/src/pages/llmodels/components/instance-item.tsx b/src/pages/llmodels/components/instance-item.tsx index c32c82bd..cf5271e2 100644 --- a/src/pages/llmodels/components/instance-item.tsx +++ b/src/pages/llmodels/components/instance-item.tsx @@ -16,6 +16,7 @@ import { DownloadOutlined, HddFilled, InfoCircleOutlined, + PieChartFilled, ThunderboltFilled } from '@ant-design/icons'; import { useIntl } from '@umijs/max'; @@ -491,6 +492,16 @@ const InstanceItem: React.FC = ({ ? `(${instanceData.backend_version || modelData?.backend_version})` : ''}
+
+ + {intl.formatMessage({ id: 'models.table.vram.allocated' })}:{' '} + {convertFileSize( + instanceData.computed_resource_claim?.vram + ? calcTotalVram(instanceData.computed_resource_claim?.vram) + : 0, + 1 + )} +
); }, [