fix: fix issues after updated dev branch merge

This commit is contained in:
Christoph Kluge 2025-06-06 13:43:13 +02:00
parent d50dfa5867
commit f946e7e6ab
4 changed files with 27 additions and 27 deletions

View File

@ -31,7 +31,8 @@ func (r *clusterResolver) Partitions(ctx context.Context, obj *schema.Cluster) (
// StartTime is the resolver for the startTime field. // StartTime is the resolver for the startTime field.
func (r *jobResolver) StartTime(ctx context.Context, obj *schema.Job) (*time.Time, error) { func (r *jobResolver) StartTime(ctx context.Context, obj *schema.Job) (*time.Time, error) {
panic(fmt.Errorf("not implemented: StartTime - startTime")) timestamp := time.Unix(obj.StartTime, 0)
return &timestamp, nil
} }
// Tags is the resolver for the tags field. // Tags is the resolver for the tags field.

View File

@ -55,8 +55,6 @@
/* Const Init */ /* Const Init */
const { query: initq } = init(); const { query: initq } = init();
const client = getContextClient(); const client = getContextClient();
const initialized = getContext("initialized");
const globalMetrics = getContext("globalMetrics");
const ccconfig = getContext("cc-config"); const ccconfig = getContext("cc-config");
const sortOptions = [ const sortOptions = [
{ key: "totalWalltime", label: "Walltime" }, { key: "totalWalltime", label: "Walltime" },
@ -73,13 +71,12 @@
let metricUnits = {}; let metricUnits = {};
let metricScopes = {}; let metricScopes = {};
let numBins = 50; let numBins = 50;
let maxY = -1;
/* State Init */ /* State Init */
let filterComponent = $state(); // see why here: https://stackoverflow.com/questions/58287729/how-can-i-export-a-function-from-a-svelte-component-that-changes-a-value-in-the let filterComponent = $state(); // see why here: https://stackoverflow.com/questions/58287729/how-can-i-export-a-function-from-a-svelte-component-that-changes-a-value-in-the
let cluster = $state(""); let cluster = $state(filterPresets?.cluster);
let availableMetrics = $state([]);
let rooflineMaxY = $state(0); let rooflineMaxY = $state(0);
let maxY = $state(-1);
let colWidth1 = $state(0); let colWidth1 = $state(0);
let colWidth2 = $state(0); let colWidth2 = $state(0);
let jobFilters = $state([]); let jobFilters = $state([]);
@ -124,8 +121,9 @@
}); });
/* Derived Vars */ /* Derived Vars */
let clusterName = $derived(cluster?.name ? cluster.name : cluster); const clusterName = $derived(cluster?.name ? cluster.name : cluster);
let metrics = $derived( const availableMetrics = $derived(loadAvailable($initq?.data?.globalMetrics, clusterName));
const metrics = $derived(
[...new Set([...metricsInHistograms, ...metricsInScatterplots.flat()])] [...new Set([...metricsInHistograms, ...metricsInScatterplots.flat()])]
); );
@ -251,7 +249,7 @@
/* Reactive Effects */ /* Reactive Effects */
$effect(() => { $effect(() => {
loadMetrics($initialized) loadUnitsAndScopes(availableMetrics.length, availableMetrics);
}); });
$effect(() => { $effect(() => {
updateEntityConfiguration(groupSelection.key); updateEntityConfiguration(groupSelection.key);
@ -313,12 +311,22 @@
} }
} }
function loadMetrics(isInitialized) { function loadAvailable(globals, name) {
if (!isInitialized) return const availableMetrics = new Set();
availableMetrics = [...globalMetrics.filter((gm) => gm?.availability.find((av) => av.cluster == cluster.name))] if (globals && globals.length > 0) {
for (let sm of availableMetrics) { for (let gm of globals) {
metricUnits[sm.name] = (sm?.unit?.prefix ? sm.unit.prefix : "") + (sm?.unit?.base ? sm.unit.base : "") if (gm.availability.find((av) => av.cluster == name)) {
metricScopes[sm.name] = sm?.scope availableMetrics.add({name: gm.name, scope: gm.scope, unit: gm.unit});
};
}
}
return [...availableMetrics]
};
function loadUnitsAndScopes(length, available) {
for (let am of available) {
metricUnits[am.name] = (am?.unit?.prefix ? am.unit.prefix : "") + (am?.unit?.base ? am.unit.base : "")
metricScopes[am.name] = am?.scope
} }
} }

View File

@ -290,7 +290,7 @@
</td> </td>
</tr> </tr>
{:else} {:else}
{#each jobs as job (job)} {#each jobs as job (job.id)}
<JobListRow bind:triggerMetricRefresh {job} {metrics} {plotWidth} {showFootprint} previousSelect={selectedJobs.includes(job.id)} <JobListRow bind:triggerMetricRefresh {job} {metrics} {plotWidth} {showFootprint} previousSelect={selectedJobs.includes(job.id)}
on:select-job={({detail}) => selectedJobs = [...selectedJobs, detail]} on:select-job={({detail}) => selectedJobs = [...selectedJobs, detail]}
on:unselect-job={({detail}) => selectedJobs = selectedJobs.filter(item => item !== detail)} on:unselect-job={({detail}) => selectedJobs = selectedJobs.filter(item => item !== detail)}

View File

@ -72,7 +72,7 @@
</script> </script>
<div> <div>
<p class="mb-2"> <p class="mb-2 text-truncate">
<span class="d-flex justify-content-between"> <span class="d-flex justify-content-between">
<span class="align-self-center fw-bold mr-2"> <span class="align-self-center fw-bold mr-2">
<a href="/monitoring/job/{job.id}" target="_blank">{job.jobId}</a> <a href="/monitoring/job/{job.id}" target="_blank">{job.jobId}</a>
@ -113,11 +113,10 @@
</span> </span>
</span> </span>
{#if job.metaData?.jobName} {#if job.metaData?.jobName}
{#if job.metaData?.jobName.length <= 25} {#if job.metaData?.jobName.length <= 20}
<span>{job.metaData.jobName}</span> <span>{job.metaData.jobName}</span>
{:else} {:else}
<span <span
class="truncate"
style="cursor:help;" style="cursor:help;"
title={job.metaData.jobName} title={job.metaData.jobName}
> >
@ -207,11 +206,3 @@
</p> </p>
{/if} {/if}
</div> </div>
<style>
.truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>