fix: archived statisticsSeries with mean data now shown again

This commit is contained in:
Christoph Kluge 2024-09-30 18:31:49 +02:00
parent 3b94863521
commit b3222f3523
6 changed files with 15 additions and 5 deletions

View File

@ -139,11 +139,13 @@ func LoadData(job *schema.Job,
}
// FIXME: Review: Is this really necessary or correct.
// Note: Lines 142-170 formerly known as prepareJobData(jobData, scoeps)
// Note: Lines 147-170 formerly known as prepareJobData(jobData, scopes)
// For /monitoring/job/<job> and some other places, flops_any and mem_bw need
// to be available at the scope 'node'. If a job has a lot of nodes,
// statisticsSeries should be available so that a min/median/max Graph can be
// used instead of a lot of single lines.
// NOTE: New StatsSeries will always be calculated as 'min/median/max'
// Existing (archived) StatsSeries can be 'min/mean/max'!
const maxSeriesSize int = 15
for _, scopes := range jd {
for _, jm := range scopes {

View File

@ -123,6 +123,7 @@ func (jd *JobData) Size() int {
for _, metric := range scopes {
if metric.StatisticsSeries != nil {
n += len(metric.StatisticsSeries.Max)
n += len(metric.StatisticsSeries.Mean)
n += len(metric.StatisticsSeries.Median)
n += len(metric.StatisticsSeries.Min)
}

View File

@ -98,6 +98,7 @@
timestep
statisticsSeries {
min
mean
median
max
}

View File

@ -53,6 +53,7 @@
timestep
statisticsSeries {
min
mean
median
max
}

View File

@ -133,8 +133,8 @@
export let zoomState = null;
if (useStatsSeries == null) useStatsSeries = statisticsSeries != null;
if (useStatsSeries == false && series == null) useStatsSeries = true;
const usesMeanStatsSeries = (useStatsSeries && statisticsSeries.mean.length != 0)
const dispatch = createEventDispatcher();
const subClusterTopology = getContext("getHardwareTopology")(cluster, subCluster);
@ -278,7 +278,7 @@
}
const longestSeries = useStatsSeries
? statisticsSeries.median.length
? (usesMeanStatsSeries ? statisticsSeries.mean.length : statisticsSeries.median.length)
: series.reduce((n, series) => Math.max(n, series.data.length), 0);
const maxX = longestSeries * timestep;
let maxY = null;
@ -327,7 +327,11 @@
if (useStatsSeries) {
plotData.push(statisticsSeries.min);
plotData.push(statisticsSeries.max);
plotData.push(statisticsSeries.median);
if (usesMeanStatsSeries) {
plotData.push(statisticsSeries.mean);
} else {
plotData.push(statisticsSeries.median);
}
/* deprecated: sparse data handled by uplot */
// if (forNode === true) {
@ -426,7 +430,7 @@
// Draw plot type label:
let textl = `${scope}${plotSeries.length > 2 ? "s" : ""}${
useStatsSeries
? ": min/median/max"
? (usesMeanStatsSeries ? ": min/mean/max" : ": min/median/max")
: metricConfig != null && scope != metricConfig.scope
? ` (${metricConfig.aggregation})`
: ""

View File

@ -74,6 +74,7 @@
timestep
statisticsSeries {
min
mean
median
max
}