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'; const Container = styled.div` display: flex; flex-direction: column; height: 86px; gap: 16px; .title { font-size: 14px; font-weight: 500; color: var(--ant-color-text-secondary); } .value-wrapper { display: flex; align-items: center; justify-content: space-between; .value { display: flex; flex: 1; gap: 12px; flex-direction: column; align-items: flex-start; justify-content: center; font-size: 20px; font-weight: 600; } } `; const ClusterSystemLoad: React.FC<{ clusterId: number }> = ({ clusterId }) => { const { systemLoad, fetchClusterSystemLoad } = useClusterSystemLoad(); useEffect(() => { if (clusterId) { fetchClusterSystemLoad({ cluster_id: clusterId }); } }, [clusterId]); const renderStepsProgress = (percent: number) => { return ( ); }; console.log('systemLoad', systemLoad); return (
GPU Utilization
{`${round(systemLoad.current.gpu, 1)}%`} {renderStepsProgress(round(systemLoad.current.gpu, 1))}
VRAM Utilization
{`${round(systemLoad.current.vram, 1)}%`}
CPU Utilization
{`${round(systemLoad.current.cpu, 1)}%`} {renderStepsProgress(round(systemLoad.current.cpu, 1))}
Memo Utilization
{`${round(systemLoad.current.ram, 1)}%`}
); }; export default ClusterSystemLoad;