diff --git a/web/frontend/src/generic/joblist/JobListRow.svelte b/web/frontend/src/generic/joblist/JobListRow.svelte
index 17a160e1..9502a2f8 100644
--- a/web/frontend/src/generic/joblist/JobListRow.svelte
+++ b/web/frontend/src/generic/joblist/JobListRow.svelte
@@ -79,6 +79,7 @@
/* Derived */
const jobId = $derived(job?.id);
+ const refinedData = $derived($metricsQuery?.data?.jobMetrics ? sortAndSelectScope($metricsQuery.data.jobMetrics) : []);
const scopes = $derived.by(() => {
if (job.numNodes == 1) {
if (job.numAcc >= 1) return ["core", "accelerator"];
@@ -202,40 +203,45 @@
/>
{/if}
- {#each sortAndSelectScope($metricsQuery.data.jobMetrics) as metric, i (metric?.name || i)}
+ {#each refinedData as metric, i (metric?.name || i)}
-
- {#if metric.disabled == false && metric.data}
- handleZoom(detail, metric.data.name)}
- height={plotHeight}
- timestep={metric.data.metric.timestep}
- scope={metric.data.scope}
- series={metric.data.metric.series}
- statisticsSeries={metric.data.metric.statisticsSeries}
- metric={metric.data.name}
- cluster={cluster.find((c) => c.name == job.cluster)}
- subCluster={job.subCluster}
- isShared={job.shared != "none"}
- numhwthreads={job.numHWThreads}
- numaccs={job.numAcc}
- zoomState={zoomStates[metric.data.name] || null}
- thresholdState={thresholdStates[metric.data.name] || null}
- />
- {:else if metric.disabled == true && metric.data}
- Metric disabled for subcluster {metric.data.name}:{job.subCluster}
- {:else}
-
- No dataset(s) returned for {metrics[i]}
- Metric or host was not found in metric store for cluster {job.cluster}:
- Identical messages in {metrics[i]} column: Metric not found.
- Identical messages in job {job.jobId} row: Host not found.
-
- {/if}
+ {#key metric}
+ {#if metric?.data}
+ {#if metric?.disabled}
+
+ Metric {metric.data.name}: Disabled for subcluster {job.subCluster}
+
+ {:else}
+ handleZoom(detail, metric.data.name)}
+ height={plotHeight}
+ timestep={metric.data.metric.timestep}
+ scope={metric.data.scope}
+ series={metric.data.metric.series}
+ statisticsSeries={metric.data.metric.statisticsSeries}
+ metric={metric.data.name}
+ cluster={cluster.find((c) => c.name == job.cluster)}
+ subCluster={job.subCluster}
+ isShared={job.shared != "none"}
+ numhwthreads={job.numHWThreads}
+ numaccs={job.numAcc}
+ zoomState={zoomStates[metric.data.name] || null}
+ thresholdState={thresholdStates[metric.data.name] || null}
+ />
+ {/if}
+ {:else}
+
+ No dataset(s) returned for {metrics[i]}
+ Metric or host was not found in metric store for cluster {job.cluster}:
+ Identical messages in {metrics[i]} column: Metric not found.
+ Identical messages in job {job.jobId} row: Host not found.
+
+ {/if}
+ {/key}
+ |
+ {:else}
+
+ No metrics selected for display.
|
{/each}
{/if}
diff --git a/web/frontend/src/generic/plots/DoubleMetricPlot.svelte b/web/frontend/src/generic/plots/DoubleMetricPlot.svelte
index 10e01311..f3cea881 100644
--- a/web/frontend/src/generic/plots/DoubleMetricPlot.svelte
+++ b/web/frontend/src/generic/plots/DoubleMetricPlot.svelte
@@ -79,7 +79,7 @@
// X
let pendingSeries = [
{
- label: "Runtime",
+ label: "Time",
value: (u, ts, sidx, didx) =>
(didx == null) ? null : formatDurationTime(ts, forNode),
}
diff --git a/web/frontend/src/status/DashDetails.svelte b/web/frontend/src/status/DashDetails.svelte
index 410d8df4..9b6dda56 100644
--- a/web/frontend/src/status/DashDetails.svelte
+++ b/web/frontend/src/status/DashDetails.svelte
@@ -34,6 +34,9 @@
/*Const Init */
const { query: initq } = init();
const useCbColors = getContext("cc-config")?.plotConfiguration_colorblindMode || false
+
+ /* Derived */
+ const subClusters = $derived($initq?.data?.clusters?.find((c) => c.name == presetCluster)?.subClusters || []);
@@ -66,11 +69,21 @@
-
+
+
+ {#if subClusters?.length > 1}
+ {#each subClusters.map(sc => sc.name) as scn}
+
+
+
+
+
+ {/each}
+ {/if}
diff --git a/web/frontend/src/status/dashdetails/UsageDash.svelte b/web/frontend/src/status/dashdetails/UsageDash.svelte
index 928ef957..79adedc3 100644
--- a/web/frontend/src/status/dashdetails/UsageDash.svelte
+++ b/web/frontend/src/status/dashdetails/UsageDash.svelte
@@ -3,6 +3,9 @@
Properties:
- `presetCluster String`: The cluster to show status information for
+ - `presetSubCluster String?`: The subCluster to show status information for [Default: null]
+ - `useCbColors Bool?`: Use colorblind friendly colors [Default: false]
+ - `useAltColors Bool?`: Use alternative color set [Default: false]
-->