{#if $compareData.fetching} {:else if $compareData.error}

{$compareData.error.message}

{:else} {#key comparePlotData} {#each metrics as m} {/each} {/key}
{#each metrics as metric} {/each} {#each ["Nodes", "Threads", "Accs"] as res} {/each} {#each metrics as metric} {#each ["min", "avg", "max"] as stat} {/each} {/each} {#each compareTableData.filter((j) => j.jobId.includes(tableJobIDFilter)) as job (job.id)} {#each metrics as metric} {/each} {:else} {/each}
JobID StartTime Duration Cluster Resources{metric} {comparePlotData[metric]?.unit? `(${comparePlotData[metric]?.unit})` : ''}
sortBy('meta', 'startTime')}> Sort sortBy('meta', 'duration')}> Sort sortBy('meta', 'cluster')}> Sort sortBy('resources', res)}> {res} sortBy(metric, stat)}> {stat.charAt(0).toUpperCase() + stat.slice(1)}
{job.jobId} {new Date(job.startTime * 1000).toLocaleString()} {formatTime(job.duration)} {job.cluster} ({job.subCluster}) {job.numNodes} {job.numHWThreads} {job.numAccelerators}{roundTwoDigits(job.stats.find((s) => s.name == metric).data.min)} {roundTwoDigits(job.stats.find((s) => s.name == metric).data.avg)} {roundTwoDigits(job.stats.find((s) => s.name == metric).data.max)}
No jobs found.
{/if}