feat: monitor button

This commit is contained in:
jialin
2026-02-04 20:14:25 +08:00
parent 47596fdb1a
commit 4e8b5e26ae
40 changed files with 352 additions and 176 deletions
@@ -1,3 +1,4 @@
import { systemConfigAtom } from '@/atoms/system';
import AutoTooltip from '@/components/auto-tooltip';
import DropdownButtons from '@/components/drop-down-buttons';
import IconFont from '@/components/icon-font';
@@ -24,6 +25,7 @@ import {
import { useIntl } from '@umijs/max';
import { Button, Col, Progress, Row, Tooltip, notification } from 'antd';
import dayjs from 'dayjs';
import { useAtomValue } from 'jotai';
import _ from 'lodash';
import React, { useCallback, useEffect, useMemo } from 'react';
import styled from 'styled-components';
@@ -435,6 +437,7 @@ const InstanceItem: React.FC<InstanceItemProps> = ({
defaultOpenId,
handleChildSelect
}) => {
const systemConfig = useAtomValue(systemConfigAtom);
const { goToGrafana } = useGranfanaLink({ type: 'instance' });
const { runBenchmarkOnInstance } = useBenchmarkTargetInstance();
const [api, contextHolder] = notification.useNotification({
@@ -453,9 +456,12 @@ const InstanceItem: React.FC<InstanceItemProps> = ({
if (action.status && action.status.length > 0) {
return action.status.includes(instanceData.state);
}
if (action.key === 'metrics') {
return systemConfig.showMonitoring;
}
return true;
});
}, [instanceData.state, modelData]);
}, [instanceData.state, modelData, systemConfig.showMonitoring]);
const createFileName = (name: string) => {
const timestamp = dayjs().format('YYYY-MM-DD_HH-mm-ss');
+5 -2
View File
@@ -9,6 +9,7 @@ import SealTable from '@/components/seal-table';
import { TableOrder } from '@/components/seal-table/types';
import { PageAction } from '@/config';
import { TABLE_SORT_DIRECTIONS } from '@/config/settings';
import { PageActionType } from '@/config/types';
import useBodyScroll from '@/hooks/use-body-scroll';
import useExpandedRowKeys from '@/hooks/use-expanded-row-keys';
import useTableRowSelection from '@/hooks/use-table-row-selection';
@@ -170,8 +171,9 @@ const Models: React.FC<ModelsProps> = ({
useEffect(() => {
fetchTargets({});
}, []);
const { goToGrafana } = useGranfanaLink({
type: 'model'
const { goToGrafana, ActionButton } = useGranfanaLink({
type: 'model',
dataList: dataSource || []
});
const [openLogModal, setOpenLogModal] = useState(false);
@@ -660,6 +662,7 @@ const Models: React.FC<ModelsProps> = ({
}
right={
<Space size={16}>
{ActionButton()}
{page !== 'clusters' && (
<DropDownActions
menu={{