@@ -84,8 +84,6 @@ export default function Page() {
8484 const repoOwner : string = ( router . query . repoOwner as string ) ?? "pytorch" ;
8585 const repoName : string = ( router . query . repoName as string ) ?? "pytorch" ;
8686 const branch : string = ( router . query . branch as string ) ?? "main" ;
87- const jobNamesCompressed : string =
88- ( router . query . jobNamesCompressed as string ) ?? "" ;
8987 const [ startTime , setStartTime ] = useState ( dayjs ( ) . subtract ( 1 , "week" ) ) ;
9088 const [ stopTime , setStopTime ] = useState ( dayjs ( ) ) ;
9189 const [ granularity , setGranularity ] = useState < Granularity > ( "day" ) ;
@@ -95,6 +93,58 @@ export default function Page() {
9593 [ key : string ] : boolean ;
9694 } > ( { } ) ;
9795
96+ useEffect ( ( ) => {
97+ if ( router . query . jobName ) {
98+ setSelectedJobs ( ( prev ) => ( {
99+ ...prev ,
100+ [ router . query . jobName as string ] : true ,
101+ } ) ) ;
102+ }
103+ if ( router . query . startTime ) {
104+ setStartTime ( dayjs ( router . query . startTime as string ) ) ;
105+ }
106+ if ( router . query . stopTime ) {
107+ setStopTime ( dayjs ( router . query . stopTime as string ) ) ;
108+ }
109+ if ( router . query . granularity ) {
110+ setGranularity ( router . query . granularity as string as Granularity ) ;
111+ }
112+ if ( router . query . timeRange ) {
113+ setTimeRange ( parseInt ( router . query . timeRange as string ) || 7 ) ;
114+ }
115+ if ( router . query . ttsPercentile ) {
116+ setTtsPercentile ( parseFloat ( router . query . ttsPercentile as string ) || 0.5 ) ;
117+ }
118+
119+ const jobNamesFromLink = JSON . parse (
120+ router . query . jobNamesCompressed
121+ ? decompressFromEncodedURIComponent (
122+ router . query . jobNamesCompressed as string
123+ )
124+ : "[]"
125+ ) ;
126+
127+ if ( router . query . jobName ) {
128+ jobNamesFromLink . push ( router . query . jobName as string ) ;
129+ }
130+
131+ if ( tts_true_series . length > 0 ) {
132+ setSelectedJobs (
133+ tts_true_series . reduce ( ( acc : any , item : any ) => {
134+ acc [ item . name ] = jobNamesFromLink . includes ( item . name ) ;
135+ return acc ;
136+ } , { } as any )
137+ ) ;
138+ } else {
139+ setSelectedJobs (
140+ jobNamesFromLink . reduce ( ( acc : any , item : any ) => {
141+ acc [ item ] = true ;
142+ return acc ;
143+ } , { } as any )
144+ ) ;
145+ }
146+ } , [ router . query ] ) ;
147+
98148 const GRAPHS_HEIGHT = 800 ;
99149
100150 const queryParams : { [ key : string ] : any } = {
@@ -127,6 +177,19 @@ export default function Page() {
127177 fetcher
128178 ) ;
129179
180+ useEffect ( ( ) => {
181+ if ( data != undefined ) {
182+ const jobNames = data . map ( ( item ) => item . full_name ) ;
183+ setSelectedJobs ( ( prev ) => {
184+ const newJobs = jobNames . reduce ( ( acc : any , jobName : string ) => {
185+ acc [ jobName ] = false ;
186+ return acc ;
187+ } , { } ) ;
188+ return { ...newJobs , ...prev } ;
189+ } ) ;
190+ }
191+ } , [ data ] ) ;
192+
130193 const timeFieldName = "granularity_bucket" ;
131194 const groupByFieldName = "full_name" ;
132195 const tts_true_series = seriesWithInterpolatedTimes (
@@ -155,34 +218,6 @@ export default function Page() {
155218 ( item : any ) => selectedJobs [ item [ "name" ] ]
156219 ) ;
157220
158- useEffect ( ( ) => {
159- const jobNamesFromLink = JSON . parse (
160- jobNamesCompressed != ""
161- ? decompressFromEncodedURIComponent ( jobNamesCompressed )
162- : "[]"
163- ) ;
164-
165- if ( router . query . jobName ) {
166- jobNamesFromLink . push ( router . query . jobName as string ) ;
167- }
168-
169- if ( tts_true_series . length > 0 ) {
170- setSelectedJobs (
171- tts_true_series . reduce ( ( acc : any , item : any ) => {
172- acc [ item . name ] = jobNamesFromLink . includes ( item . name ) ;
173- return acc ;
174- } , { } as any )
175- ) ;
176- } else {
177- setSelectedJobs (
178- jobNamesFromLink . reduce ( ( acc : any , item : any ) => {
179- acc [ item ] = true ;
180- return acc ;
181- } , { } as any )
182- ) ;
183- }
184- } , [ data , jobNamesCompressed , router . query . jobName ] ) ;
185-
186221 const permalink =
187222 typeof window !== "undefined" &&
188223 `${ window . location . protocol } /${ window . location . host } ${ router . asPath . replace (
@@ -194,6 +229,11 @@ export default function Page() {
194229 Object . keys ( selectedJobs ) . filter ( ( key ) => selectedJobs [ key ] )
195230 )
196231 ) ,
232+ startTime : startTime . utc ( ) . format ( "YYYY-MM-DDTHH:mm:ss.SSS" ) ,
233+ stopTime : stopTime . utc ( ) . format ( "YYYY-MM-DDTHH:mm:ss.SSS" ) ,
234+ granularity : granularity ,
235+ timeRange : timeRange . toString ( ) ,
236+ ttsPercentile : ttsPercentile . toString ( ) ,
197237 } ) } `;
198238
199239 return (
0 commit comments