From 1a6105be8d34dcb266f02e9013ee272ceaf92e36 Mon Sep 17 00:00:00 2001 From: Ashley Harrison Date: Fri, 26 Jan 2024 13:59:28 +0000 Subject: [PATCH] Datasource: Add optional `queries` parameter to `getTagKeysOptions` (#81071) add optional queries parameter to getTagKeysOptions --- packages/grafana-data/src/types/datasource.ts | 5 +++-- public/app/plugins/datasource/influxdb/datasource.ts | 2 +- public/app/plugins/datasource/loki/datasource.ts | 2 +- public/app/plugins/datasource/prometheus/datasource.ts | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/grafana-data/src/types/datasource.ts b/packages/grafana-data/src/types/datasource.ts index e96ca98201f..7702d78fbbc 100644 --- a/packages/grafana-data/src/types/datasource.ts +++ b/packages/grafana-data/src/types/datasource.ts @@ -287,7 +287,7 @@ abstract class DataSourceApi< /** * Get tag keys for adhoc filters */ - getTagKeys?(options?: DataSourceGetTagKeysOptions): Promise; + getTagKeys?(options?: DataSourceGetTagKeysOptions): Promise; /** * Get tag values for adhoc filters @@ -367,7 +367,7 @@ abstract class DataSourceApi< /** * Options argument to DataSourceAPI.getTagKeys */ -export interface DataSourceGetTagKeysOptions { +export interface DataSourceGetTagKeysOptions { /** * The other existing filters or base filters. New in v10.3 */ @@ -376,6 +376,7 @@ export interface DataSourceGetTagKeysOptions { * Context time range. New in v10.3 */ timeRange?: TimeRange; + queries?: TQuery[]; } /** diff --git a/public/app/plugins/datasource/influxdb/datasource.ts b/public/app/plugins/datasource/influxdb/datasource.ts index a7ce73bebed..4c2b1b034db 100644 --- a/public/app/plugins/datasource/influxdb/datasource.ts +++ b/public/app/plugins/datasource/influxdb/datasource.ts @@ -339,7 +339,7 @@ export default class InfluxDatasource extends DataSourceWithBackend) { const query = buildMetadataQuery({ type: 'TAG_KEYS', templateService: this.templateSrv, diff --git a/public/app/plugins/datasource/loki/datasource.ts b/public/app/plugins/datasource/loki/datasource.ts index 29e6fe3b735..d07fd7cb295 100644 --- a/public/app/plugins/datasource/loki/datasource.ts +++ b/public/app/plugins/datasource/loki/datasource.ts @@ -753,7 +753,7 @@ export class LokiDatasource * Implemented as part of the DataSourceAPI. Retrieves tag keys that can be used for ad-hoc filtering. * @returns A Promise that resolves to an array of label names represented as MetricFindValue objects. */ - async getTagKeys(options?: DataSourceGetTagKeysOptions): Promise { + async getTagKeys(options?: DataSourceGetTagKeysOptions): Promise { const result = await this.languageProvider.fetchLabels({ timeRange: options?.timeRange }); return result.map((value: string) => ({ text: value })); } diff --git a/public/app/plugins/datasource/prometheus/datasource.ts b/public/app/plugins/datasource/prometheus/datasource.ts index 14213e9dd1c..5b3e9ec7f27 100644 --- a/public/app/plugins/datasource/prometheus/datasource.ts +++ b/public/app/plugins/datasource/prometheus/datasource.ts @@ -668,7 +668,7 @@ export class PrometheusDatasource // this is used to get label keys, a.k.a label names // it is used in metric_find_query.ts // and in Tempo here grafana/public/app/plugins/datasource/tempo/QueryEditor/ServiceGraphSection.tsx - async getTagKeys(options: DataSourceGetTagKeysOptions): Promise { + async getTagKeys(options: DataSourceGetTagKeysOptions): Promise { if (!options || options.filters.length === 0) { await this.languageProvider.fetchLabels(options.timeRange); return this.languageProvider.getLabelKeys().map((k) => ({ value: k, text: k }));