mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
PanelQueryRunner: Ensure same transformations before reusing lastProcessedFrames (#68498)
This commit is contained in:
parent
778a09eaa7
commit
8ba1762618
@ -95,6 +95,7 @@ export class PanelQueryRunner {
|
|||||||
let lastFieldConfig: ApplyFieldOverrideOptions | undefined = undefined;
|
let lastFieldConfig: ApplyFieldOverrideOptions | undefined = undefined;
|
||||||
let lastProcessedFrames: DataFrame[] = [];
|
let lastProcessedFrames: DataFrame[] = [];
|
||||||
let lastRawFrames: DataFrame[] = [];
|
let lastRawFrames: DataFrame[] = [];
|
||||||
|
let lastTransformations: DataTransformerConfig[] | undefined;
|
||||||
let isFirstPacket = true;
|
let isFirstPacket = true;
|
||||||
let lastConfigRev = -1;
|
let lastConfigRev = -1;
|
||||||
|
|
||||||
@ -110,12 +111,18 @@ export class PanelQueryRunner {
|
|||||||
return this.subject.pipe(
|
return this.subject.pipe(
|
||||||
mergeMap((data: PanelData) => {
|
mergeMap((data: PanelData) => {
|
||||||
let fieldConfig = this.dataConfigSource.getFieldOverrideOptions();
|
let fieldConfig = this.dataConfigSource.getFieldOverrideOptions();
|
||||||
|
let transformations = this.dataConfigSource.getTransformations();
|
||||||
|
|
||||||
if (data.series === lastRawFrames && lastFieldConfig?.fieldConfig === fieldConfig?.fieldConfig) {
|
if (
|
||||||
|
data.series === lastRawFrames &&
|
||||||
|
lastFieldConfig?.fieldConfig === fieldConfig?.fieldConfig &&
|
||||||
|
lastTransformations === transformations
|
||||||
|
) {
|
||||||
return of({ ...data, structureRev, series: lastProcessedFrames });
|
return of({ ...data, structureRev, series: lastProcessedFrames });
|
||||||
}
|
}
|
||||||
|
|
||||||
lastFieldConfig = fieldConfig;
|
lastFieldConfig = fieldConfig;
|
||||||
|
lastTransformations = transformations;
|
||||||
lastRawFrames = data.series;
|
lastRawFrames = data.series;
|
||||||
let dataWithTransforms = of(data);
|
let dataWithTransforms = of(data);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user