diff --git a/web/frontend/src/job/StatsTab.svelte b/web/frontend/src/job/StatsTab.svelte index 5dd6bb7..ecdcec3 100644 --- a/web/frontend/src/job/StatsTab.svelte +++ b/web/frontend/src/job/StatsTab.svelte @@ -129,7 +129,7 @@ {:else} r.hostname).sort()} - data={$scopedStats?.data?.scopedJobStats} + jobStats={$scopedStats?.data?.scopedJobStats} {selectedMetrics} /> {/if} @@ -142,6 +142,7 @@ cluster={job.cluster} subCluster={job.subCluster} configName="job_view_nodestats_selectedMetrics" + preInitialized applyMetrics={(newMetrics) => selectedMetrics = [...newMetrics] } diff --git a/web/frontend/src/job/statstab/StatsTable.svelte b/web/frontend/src/job/statstab/StatsTable.svelte index 115dea0..d55f420 100644 --- a/web/frontend/src/job/statstab/StatsTable.svelte +++ b/web/frontend/src/job/statstab/StatsTable.svelte @@ -2,9 +2,9 @@ @component Job-View subcomponent; display table of metric data statistics with selectable scopes Properties: - - `data Object`: The data object - - `selectedMetrics [String]`: The selected metrics - `hosts [String]`: The list of hostnames of this job + - `jobStats Object`: The data object + - `selectedMetrics [String]`: The selected metrics --> -{#if stats == null || stats.length == 0} +{#if data == null || data.length == 0} No data -{:else if stats.length == 1 && scope == "node"} +{:else if data.length == 1 && scope == "node"} - {stats[0].data.min} + {data[0].data.min} - {stats[0].data.avg} + {data[0].data.avg} - {stats[0].data.max} + {data[0].data.max} {:else} @@ -76,17 +59,18 @@ {#each ["id", "min", "avg", "max"] as field} - sortByField(field)}> + { + sortBy = field; + sortDir = (sortDir == "up" ? "down" : "up"); + }}> Sort {/each} - {#each stats as s, i} + {#each sortedData as s, i} {s.id ?? i} {s.data.min}