From ad793a52888b6c2cf78f2e3bbb9e6cee431a8371 Mon Sep 17 00:00:00 2001 From: Andreas Christou Date: Mon, 15 Dec 2025 16:43:22 +0100 Subject: [PATCH] Logs: Improved flexibility of `hasSupplementaryQuerySupport` (#115348) Pass the request for improved control --- packages/grafana-data/src/types/logs.ts | 7 ++++--- public/app/features/explore/utils/supplementaryQueries.ts | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/grafana-data/src/types/logs.ts b/packages/grafana-data/src/types/logs.ts index 94f1d97518c..b5e66d705f4 100644 --- a/packages/grafana-data/src/types/logs.ts +++ b/packages/grafana-data/src/types/logs.ts @@ -273,7 +273,7 @@ export interface DataSourceWithSupplementaryQueriesSupport): SupplementaryQueryType[]; /** * Returns a supplementary query to be used to fetch supplementary data based on the provided type and original query. * If the provided query is not suitable for the provided supplementary query type, undefined should be returned. @@ -283,7 +283,8 @@ export interface DataSourceWithSupplementaryQueriesSupport( datasource: DataSourceApi | (DataSourceApi & DataSourceWithSupplementaryQueriesSupport), - type: SupplementaryQueryType + type: SupplementaryQueryType, + dsRequest?: DataQueryRequest ): datasource is DataSourceApi & DataSourceWithSupplementaryQueriesSupport => { if (!datasource) { return false; @@ -293,7 +294,7 @@ export const hasSupplementaryQuerySupport = ( ('getDataProvider' in datasource || 'getSupplementaryRequest' in datasource) && 'getSupplementaryQuery' in datasource && 'getSupportedSupplementaryQueryTypes' in datasource && - datasource.getSupportedSupplementaryQueryTypes().includes(type) + datasource.getSupportedSupplementaryQueryTypes(dsRequest).includes(type) ); }; diff --git a/public/app/features/explore/utils/supplementaryQueries.ts b/public/app/features/explore/utils/supplementaryQueries.ts index a705c8193fb..45ffe4a5f08 100644 --- a/public/app/features/explore/utils/supplementaryQueries.ts +++ b/public/app/features/explore/utils/supplementaryQueries.ts @@ -129,7 +129,7 @@ export const getSupplementaryQueryProvider = ( dsRequest.requestId = `${dsRequest.requestId || ''}_${i}`; dsRequest.targets = targets; - if (hasSupplementaryQuerySupport(datasource, type)) { + if (hasSupplementaryQuerySupport(datasource, type, dsRequest)) { if (datasource.getDataProvider) { return datasource.getDataProvider(type, dsRequest); } else if (datasource.getSupplementaryRequest) {