From b9cb445148fe9491e17950334152b4c85ab77c23 Mon Sep 17 00:00:00 2001 From: Victor Marin <36818606+mdvictor@users.noreply.github.com> Date: Mon, 5 May 2025 20:20:31 +0300 Subject: [PATCH] DashboardDatasource: Debounce results slightly to avoid flickering on zoom (#102887) Debounce all results slightly to avoid false positive DONE flickering --- public/app/plugins/datasource/dashboard/datasource.test.ts | 4 ++++ public/app/plugins/datasource/dashboard/datasource.ts | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/public/app/plugins/datasource/dashboard/datasource.test.ts b/public/app/plugins/datasource/dashboard/datasource.test.ts index 97a382f5fdb..76412500540 100644 --- a/public/app/plugins/datasource/dashboard/datasource.test.ts +++ b/public/app/plugins/datasource/dashboard/datasource.test.ts @@ -66,12 +66,16 @@ describe('DashboardDatasource', () => { }); it('Can subscribe to panel data + transforms', async () => { + jest.useFakeTimers(); + const { observable } = setup({ refId: 'A', panelId: 1, withTransforms: true }); let rsp: DataQueryResponse | undefined; observable.subscribe({ next: (data) => (rsp = data) }); + jest.runAllTimers(); + expect(rsp?.data[0].fields[1].values).toEqual([3]); }); diff --git a/public/app/plugins/datasource/dashboard/datasource.ts b/public/app/plugins/datasource/dashboard/datasource.ts index b5bb41998be..a9e34586d4f 100644 --- a/public/app/plugins/datasource/dashboard/datasource.ts +++ b/public/app/plugins/datasource/dashboard/datasource.ts @@ -1,4 +1,4 @@ -import { Observable, debounce, defer, finalize, first, interval, map, of } from 'rxjs'; +import { Observable, debounce, debounceTime, defer, finalize, first, interval, map, of } from 'rxjs'; import { DataSourceApi, @@ -79,6 +79,7 @@ export class DashboardDatasource extends DataSourceApi { const cleanUp = activateSceneObjectAndParentTree(sourceDataProvider!); return sourceDataProvider!.getResultsStream!().pipe( + debounceTime(50), map((result) => { return { data: this.getDataFramesForQueryTopic(result.data, query),