remove conflicting variable layer in metric histo select

This commit is contained in:
Christoph Kluge 2025-02-28 14:00:27 +01:00
parent d5394c9e92
commit 0fe0461340
3 changed files with 16 additions and 20 deletions

View File

@ -75,7 +75,7 @@
); );
let isHistogramSelectionOpen = false; let isHistogramSelectionOpen = false;
$: metricsInHistograms = cluster $: selectedHistograms = cluster
? ccconfig[`user_view_histogramMetrics:${cluster}`] || ( ccconfig['user_view_histogramMetrics'] || [] ) ? ccconfig[`user_view_histogramMetrics:${cluster}`] || ( ccconfig['user_view_histogramMetrics'] || [] )
: ccconfig['user_view_histogramMetrics'] || []; : ccconfig['user_view_histogramMetrics'] || [];
@ -90,7 +90,7 @@
$metrics: [String!] $metrics: [String!]
$from: Time! $from: Time!
$to: Time! $to: Time!
$metricsInHistograms: [String!] $selectedHistograms: [String!]
) { ) {
nodeMetrics( nodeMetrics(
cluster: $cluster cluster: $cluster
@ -116,7 +116,7 @@
} }
} }
stats: jobsStatistics(filter: $filter, metrics: $metricsInHistograms) { stats: jobsStatistics(filter: $filter, metrics: $selectedHistograms) {
histDuration { histDuration {
count count
value value
@ -157,7 +157,7 @@
from: from.toISOString(), from: from.toISOString(),
to: to.toISOString(), to: to.toISOString(),
filter: [{ state: ["running"] }, { cluster: { eq: cluster } }], filter: [{ state: ["running"] }, { cluster: { eq: cluster } }],
metricsInHistograms: metricsInHistograms, selectedHistograms: selectedHistograms,
}, },
}); });
@ -653,7 +653,7 @@
<!-- Selectable Stats as Histograms : Average Values of Running Jobs --> <!-- Selectable Stats as Histograms : Average Values of Running Jobs -->
{#if metricsInHistograms} {#if selectedHistograms}
{#key $mainQuery.data.stats[0].histMetrics} {#key $mainQuery.data.stats[0].histMetrics}
<PlotGrid <PlotGrid
let:item let:item
@ -676,6 +676,6 @@
<HistogramSelection <HistogramSelection
bind:cluster bind:cluster
bind:metricsInHistograms bind:selectedHistograms
bind:isOpen={isHistogramSelectionOpen} bind:isOpen={isHistogramSelectionOpen}
/> />

View File

@ -68,7 +68,7 @@
let durationBinOptions = ["1m","10m","1h","6h","12h"]; let durationBinOptions = ["1m","10m","1h","6h","12h"];
let metricBinOptions = [10, 20, 50, 100]; let metricBinOptions = [10, 20, 50, 100];
$: metricsInHistograms = selectedCluster $: selectedHistograms = selectedCluster
? ccconfig[`user_view_histogramMetrics:${selectedCluster}`] || ( ccconfig['user_view_histogramMetrics'] || [] ) ? ccconfig[`user_view_histogramMetrics:${selectedCluster}`] || ( ccconfig['user_view_histogramMetrics'] || [] )
: ccconfig['user_view_histogramMetrics'] || []; : ccconfig['user_view_histogramMetrics'] || [];
@ -76,8 +76,8 @@
$: stats = queryStore({ $: stats = queryStore({
client: client, client: client,
query: gql` query: gql`
query ($jobFilters: [JobFilter!]!, $metricsInHistograms: [String!], $numDurationBins: String, $numMetricBins: Int) { query ($jobFilters: [JobFilter!]!, $selectedHistograms: [String!], $numDurationBins: String, $numMetricBins: Int) {
jobsStatistics(filter: $jobFilters, metrics: $metricsInHistograms, numDurationBins: $numDurationBins , numMetricBins: $numMetricBins ) { jobsStatistics(filter: $jobFilters, metrics: $selectedHistograms, numDurationBins: $numDurationBins , numMetricBins: $numMetricBins ) {
totalJobs totalJobs
shortJobs shortJobs
totalWalltime totalWalltime
@ -104,7 +104,7 @@
} }
} }
`, `,
variables: { jobFilters, metricsInHistograms, numDurationBins, numMetricBins }, variables: { jobFilters, selectedHistograms, numDurationBins, numMetricBins },
}); });
onMount(() => filterComponent.updateFilters()); onMount(() => filterComponent.updateFilters());
@ -290,7 +290,7 @@
</InputGroup> </InputGroup>
</Col> </Col>
</Row> </Row>
{#if metricsInHistograms?.length > 0} {#if selectedHistograms?.length > 0}
{#if $stats.error} {#if $stats.error}
<Row> <Row>
<Col> <Col>
@ -357,6 +357,6 @@
<HistogramSelection <HistogramSelection
bind:cluster={selectedCluster} bind:cluster={selectedCluster}
bind:metricsInHistograms bind:selectedHistograms
bind:isOpen={isHistogramSelectionOpen} bind:isOpen={isHistogramSelectionOpen}
/> />

View File

@ -3,7 +3,7 @@
Properties: Properties:
- `cluster String`: Currently selected cluster - `cluster String`: Currently selected cluster
- `metricsInHistograms [String]`: The currently selected metrics to display as histogram - `selectedHistograms [String]`: The currently selected metrics to display as histogram
- ìsOpen Bool`: Is selection opened - ìsOpen Bool`: Is selection opened
--> -->
@ -21,13 +21,12 @@
import { gql, getContextClient, mutationStore } from "@urql/svelte"; import { gql, getContextClient, mutationStore } from "@urql/svelte";
export let cluster; export let cluster;
export let metricsInHistograms; export let selectedHistograms;
export let isOpen; export let isOpen;
const client = getContextClient(); const client = getContextClient();
const initialized = getContext("initialized"); const initialized = getContext("initialized");
function loadHistoMetrics(isInitialized, thisCluster) { function loadHistoMetrics(isInitialized, thisCluster) {
if (!isInitialized) return []; if (!isInitialized) return [];
@ -43,8 +42,6 @@
} }
} }
$: pendingMetrics = [...metricsInHistograms]; // Copy on change from above
const updateConfigurationMutation = ({ name, value }) => { const updateConfigurationMutation = ({ name, value }) => {
return mutationStore({ return mutationStore({
client: client, client: client,
@ -69,13 +66,12 @@
} }
function closeAndApply() { function closeAndApply() {
metricsInHistograms = [...pendingMetrics]; // Set for parent
isOpen = !isOpen; isOpen = !isOpen;
updateConfiguration({ updateConfiguration({
name: cluster name: cluster
? `user_view_histogramMetrics:${cluster}` ? `user_view_histogramMetrics:${cluster}`
: "user_view_histogramMetrics", : "user_view_histogramMetrics",
value: metricsInHistograms, value: selectedHistograms,
}); });
} }
@ -89,7 +85,7 @@
<ListGroup> <ListGroup>
{#each availableMetrics as metric (metric)} {#each availableMetrics as metric (metric)}
<ListGroupItem> <ListGroupItem>
<input type="checkbox" bind:group={pendingMetrics} value={metric} /> <input type="checkbox" bind:group={selectedHistograms} value={metric} />
{metric} {metric}
</ListGroupItem> </ListGroupItem>
{/each} {/each}