11import React , { useEffect , useMemo } from 'react' ;
2+ import { useListener } from 'react-bus' ;
23import { useTranslation } from 'react-i18next' ;
34import { useParams } from 'react-router-dom' ;
45
@@ -7,6 +8,7 @@ import { Box, ColumnLayout, Container, Header, LineChart } from 'components';
78import { riseRouterException } from 'libs' ;
89import { useGetRunQuery } from 'services/run' ;
910
11+ import { RUN_DETAILS_REFRESH_LIST_EVENT } from '../../constants' ;
1012import { bytesFormatter , formatPercent , formatTime } from './helpers' ;
1113import { useMetricsData } from './useMetricsData' ;
1214
@@ -32,14 +34,23 @@ export const JobMetrics: React.FC = () => {
3234 return runData . jobs . find ( ( job ) => job . job_spec . job_name === paramJobName ) ?? null ;
3335 } , [ runData ] ) ;
3436
35- const { cpuChartProps, memoryChartProps, eachGPUChartProps, eachGPUMemoryChartProps, isLoading } = useMetricsData ( {
37+ const {
38+ cpuChartProps,
39+ memoryChartProps,
40+ eachGPUChartProps,
41+ eachGPUMemoryChartProps,
42+ isLoading,
43+ refetch : refetchMetrics ,
44+ } = useMetricsData ( {
3645 project_name : paramProjectName ,
3746 run_name : runData ?. run_spec . run_name ?? '' ,
3847 run_id : runData ?. id ?? '' ,
3948 job_num : jobData ?. job_spec . job_num ?? 0 ,
4049 limit : 1000 ,
4150 } ) ;
4251
52+ useListener ( RUN_DETAILS_REFRESH_LIST_EVENT , refetchMetrics ) ;
53+
4354 const statusType = isLoading || isLoadingRun ? 'loading' : 'finished' ;
4455
4556 useEffect ( ( ) => {
0 commit comments