diff --git a/web/configSchema.go b/web/configSchema.go index 66e57195..d2c839e9 100644 --- a/web/configSchema.go +++ b/web/configSchema.go @@ -177,6 +177,11 @@ const configSchema = `{ "description": "Initial thickness of rendered plotlines. Applies to metric plot, job compare plot and roofline.", "type": "integer" }, + "smoothing-window": { + "description": "Initial display smoothing window in data points, applied after downsampling. 0 disables smoothing. Display-only: reported statistics and footprints are unaffected.", + "type": "integer", + "minimum": 0 + }, "color-scheme": { "description": "Initial colorScheme to be used for metric plots.", "type": "array", diff --git a/web/frontend/src/config/user/PlotRenderOptions.svelte b/web/frontend/src/config/user/PlotRenderOptions.svelte index b8b96ae9..22ca761c 100644 --- a/web/frontend/src/config/user/PlotRenderOptions.svelte +++ b/web/frontend/src/config/user/PlotRenderOptions.svelte @@ -311,4 +311,55 @@ + + + + +
updateSetting(e, { + selector: "#smoothing-window-form", + target: "sw", + })} + > + +
Smoothing Window
+ {#if displayMessage && message.target == "sw"} +
+ + Update: {message.msg} + +
+ {/if} +
+ +
+ + +
+ Width of the moving average applied to plotted lines, in data + points. 0 disables it, the default is 3. It is applied after + downsampling and is display-only: the reported min/avg/max + statistics and the job footprint are unaffected. Combined with the + Average algorithm it is a second, milder smoothing pass on top of + the interval means. +
+
+ +
+
+ \ No newline at end of file diff --git a/web/frontend/src/generic/plots/MetricPlot.svelte b/web/frontend/src/generic/plots/MetricPlot.svelte index 63e31950..20ae83af 100644 --- a/web/frontend/src/generic/plots/MetricPlot.svelte +++ b/web/frontend/src/generic/plots/MetricPlot.svelte @@ -17,6 +17,7 @@ - `numhwthreads Number?`: Number of job HWThreads [Default: 0] - `numaccs Number?`: Number of job Accelerators [Default: 0] - `zoomState Object?`: The last zoom state to preserve on user zoom [Default: null] + - `smoothingWindow Number?`: Display smoothing window in data points; overrides the user setting. 0 or 1 disables [Default: null] - `thersholdState Object?`: The last threshold state to preserve on user zoom [Default: null] - `extendedLegendData Object?`: Additional information to be rendered in an extended legend [Default: null] - `onZoom Func`: Callback function to handle zoom-in event @@ -25,6 +26,7 @@