Merge branch 'dev' of github.com:ClusterCockpit/cc-backend into dev

This commit is contained in:
2025-10-16 13:01:35 +02:00
7 changed files with 271 additions and 143 deletions

View File

@@ -43,8 +43,6 @@
let cluster = $state(presetCluster);
// Histogram
let isHistogramSelectionOpen = $state(false);
let from = $state(new Date(Date.now() - (30 * 24 * 60 * 60 * 1000))); // Simple way to retrigger GQL: Jobs Started last Month
let to = $state(new Date(Date.now()));
/* Derived */
let selectedHistograms = $derived(cluster
@@ -74,11 +72,11 @@
}
`,
variables: {
filter: [{ state: ["running"] }, { cluster: { eq: cluster}}, {startTime: { from, to }}],
selectedHistograms: selectedHistograms,
filter: [{ state: ["running"] }, { cluster: { eq: cluster} }],
selectedHistograms: selectedHistograms
},
requestPolicy: "network-only"
}));
</script>
<!-- Loading indicators & Metric Sleect -->
@@ -96,8 +94,7 @@
<Refresher
initially={120}
onRefresh={() => {
from = new Date(Date.now() - (30 * 24 * 60 * 60 * 1000)); // Triggers GQL
to = new Date(Date.now());
selectedHistograms = [...$state.snapshot(selectedHistograms)]
}}
/>
</Col>

View File

@@ -185,6 +185,7 @@
paging: { itemsPerPage: -1, page: 1 }, // Get all: -1
sorting: { field: "startTime", type: "col", order: "DESC" }
},
requestPolicy: "network-only"
}));
/* Effects */
@@ -363,6 +364,7 @@
<Refresher
initially={120}
onRefresh={() => {
console.log('Trigger Refresh StatusTab')
from = new Date(Date.now() - 5 * 60 * 1000);
to = new Date(Date.now());
}}

View File

@@ -47,8 +47,8 @@
/* State Init */
let cluster = $state(presetCluster)
let from = $state(new Date(Date.now() - (30 * 24 * 60 * 60 * 1000))); // Simple way to retrigger GQL: Jobs Started last Month
let to = $state(new Date(Date.now()));
let pagingState = $state({page: 1, itemsPerPage: 10}) // Top 10
let selectedHistograms = $state([]) // Dummy For Refresh
let colWidthJobs = $state(0);
let colWidthNodes = $state(0);
let colWidthAccs = $state(0);
@@ -84,9 +84,10 @@
}
`,
variables: {
filter: [{ state: ["running"] }, { cluster: { eq: cluster}}, {startTime: { from, to }}],
paging: { itemsPerPage: 10, page: 1 } // Top 10
filter: [{ state: ["running"] }, { cluster: { eq: cluster} }],
paging: pagingState // Top 10
},
requestPolicy: "network-only"
}));
const topNodesQuery = $derived(queryStore({
@@ -118,9 +119,10 @@
}
`,
variables: {
filter: [{ state: ["running"] }, { cluster: { eq: cluster }}, {startTime: { from, to }}],
paging: { itemsPerPage: 10, page: 1 } // Top 10
filter: [{ state: ["running"] }, { cluster: { eq: cluster } }],
paging: pagingState
},
requestPolicy: "network-only"
}));
const topAccsQuery = $derived(queryStore({
@@ -152,9 +154,10 @@
}
`,
variables: {
filter: [{ state: ["running"] }, { cluster: { eq: cluster }}, {startTime: { from, to }}],
paging: { itemsPerPage: 10, page: 1 } // Top 10
filter: [{ state: ["running"] }, { cluster: { eq: cluster } }],
paging: pagingState
},
requestPolicy: "network-only"
}));
// Note: nodeMetrics are requested on configured $timestep resolution
@@ -183,10 +186,11 @@
}
`,
variables: {
filter: [{ state: ["running"] }, { cluster: { eq: cluster }}, {startTime: { from, to }}],
selectedHistograms: [], // No Metrics requested for node hardware stats
filter: [{ state: ["running"] }, { cluster: { eq: cluster } }],
selectedHistograms: selectedHistograms, // No Metrics requested for node hardware stats
numDurationBins: numDurationBins,
},
requestPolicy: "network-only"
}));
/* Functions */
@@ -202,7 +206,6 @@
}
return c[(c.length + targetIdx) % c.length];
}
</script>
<!-- Refresher and space for other options -->
@@ -226,8 +229,8 @@
<Refresher
initially={120}
onRefresh={() => {
from = new Date(Date.now() - (30 * 24 * 60 * 60 * 1000)); // Triggers GQL
to = new Date(Date.now());
pagingState = { page:1, itemsPerPage: 10 };
selectedHistograms = [...$state.snapshot(selectedHistograms)];
}}
/>
</Col>