import { ExperimentStatus } from '@/enums'; import { ActiveLearnInstanceData } from '@/pages/ActiveLearn/types'; import EmptyLog from '@/pages/AutoML/components/ExperimentLog/empty'; import LogList from '@/pages/Experiment/components/LogList'; import { NodeStatus } from '@/types'; import { Tabs } from 'antd'; import styles from './index.less'; const NodePrefix = 'active-learn'; type ExperimentLogProps = { instanceInfo: ActiveLearnInstanceData; nodes: Record; }; function ExperimentLog({ instanceInfo, nodes }: ExperimentLogProps) { let hpoNodeStatus: NodeStatus | undefined; let frameworkCloneNodeStatus: NodeStatus | undefined; let trainCloneNodeStatus: NodeStatus | undefined; Object.keys(nodes) .sort((key1, key2) => { const node1 = nodes[key1]; const node2 = nodes[key2]; return new Date(node1.startedAt).getTime() - new Date(node2.startedAt).getTime(); }) .forEach((key) => { const node = nodes[key]; if (node.displayName.startsWith(NodePrefix)) { hpoNodeStatus = node; } else if (node.displayName.startsWith('git-clone') && !frameworkCloneNodeStatus) { frameworkCloneNodeStatus = node; } else if ( node.displayName.startsWith('git-clone') && frameworkCloneNodeStatus && node.displayName !== frameworkCloneNodeStatus?.displayName ) { trainCloneNodeStatus = node; } }); const tabItems = [ // { // key: 'git-clone-framework', // label: '框架代码日志', // // icon: , // children: ( //
// {frameworkCloneNodeStatus && ( // // )} //
// ), // }, { key: 'git-clone-train', label: '系统日志', // icon: , children: (
{trainCloneNodeStatus ? ( ) : ( )}
), }, { key: 'active-learn', label: '主动学习日志', // icon: , children: (
{hpoNodeStatus ? ( ) : ( )}
), }, ]; return (
); } export default ExperimentLog;