diff --git a/packages/grafana-data/src/types/datasource.ts b/packages/grafana-data/src/types/datasource.ts index f555983f67f..f131a71c49e 100644 --- a/packages/grafana-data/src/types/datasource.ts +++ b/packages/grafana-data/src/types/datasource.ts @@ -290,7 +290,7 @@ abstract class DataSourceApi< /** * Get tag values for adhoc filters */ - getTagValues?(options: DataSourceGetTagValuesOptions): Promise; + getTagValues?(options: DataSourceGetTagValuesOptions): Promise; /** * Set after constructor call, as the data source instance is the most common thing to pass around @@ -380,7 +380,7 @@ export interface DataSourceGetTagKeysOptions { key: string; /** * The other existing filters or base filters. New in v10.3 @@ -390,6 +390,7 @@ export interface DataSourceGetTagValuesOptions { * Context time range. New in v10.3 */ timeRange?: TimeRange; + queries?: TQuery[]; } export interface MetadataInspectorProps< diff --git a/packages/grafana-prometheus/src/datasource.ts b/packages/grafana-prometheus/src/datasource.ts index b5225af0b38..d23a233953c 100644 --- a/packages/grafana-prometheus/src/datasource.ts +++ b/packages/grafana-prometheus/src/datasource.ts @@ -696,7 +696,7 @@ export class PrometheusDatasource } // By implementing getTagKeys and getTagValues we add ad-hoc filters functionality - async getTagValues(options: DataSourceGetTagValuesOptions) { + async getTagValues(options: DataSourceGetTagValuesOptions) { const labelFilters: QueryBuilderLabelFilter[] = options.filters.map((f) => ({ label: f.key, value: f.value, diff --git a/public/app/plugins/datasource/elasticsearch/datasource.ts b/public/app/plugins/datasource/elasticsearch/datasource.ts index 5547eadcf40..226e069c2bf 100644 --- a/public/app/plugins/datasource/elasticsearch/datasource.ts +++ b/public/app/plugins/datasource/elasticsearch/datasource.ts @@ -855,7 +855,7 @@ export class ElasticDatasource return lastValueFrom(this.getFields()); } - getTagValues(options: DataSourceGetTagValuesOptions) { + getTagValues(options: DataSourceGetTagValuesOptions) { return lastValueFrom(this.getTerms({ field: options.key }, options.timeRange)); } diff --git a/public/app/plugins/datasource/influxdb/datasource.ts b/public/app/plugins/datasource/influxdb/datasource.ts index 665ac390215..4fce29f11ab 100644 --- a/public/app/plugins/datasource/influxdb/datasource.ts +++ b/public/app/plugins/datasource/influxdb/datasource.ts @@ -404,7 +404,7 @@ export default class InfluxDatasource extends DataSourceWithBackend) { const query = buildMetadataQuery({ type: 'TAG_VALUES', templateService: this.templateSrv, diff --git a/public/app/plugins/datasource/loki/datasource.ts b/public/app/plugins/datasource/loki/datasource.ts index 74c1a814c94..d333121c2d8 100644 --- a/public/app/plugins/datasource/loki/datasource.ts +++ b/public/app/plugins/datasource/loki/datasource.ts @@ -755,7 +755,7 @@ export class LokiDatasource * Implemented as part of the DataSourceAPI. Retrieves tag values that can be used for ad-hoc filtering. * @returns A Promise that resolves to an array of label values represented as MetricFindValue objects */ - async getTagValues(options: DataSourceGetTagValuesOptions): Promise { + async getTagValues(options: DataSourceGetTagValuesOptions): Promise { const result = await this.languageProvider.fetchLabelValues(options.key, { 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 70a40c154a1..0e2c333b5a0 100644 --- a/public/app/plugins/datasource/prometheus/datasource.ts +++ b/public/app/plugins/datasource/prometheus/datasource.ts @@ -696,7 +696,7 @@ export class PrometheusDatasource } // By implementing getTagKeys and getTagValues we add ad-hoc filters functionality - async getTagValues(options: DataSourceGetTagValuesOptions) { + async getTagValues(options: DataSourceGetTagValuesOptions) { const labelFilters: QueryBuilderLabelFilter[] = options.filters.map((f) => ({ label: f.key, value: f.value, diff --git a/public/app/plugins/datasource/tempo/datasource.ts b/public/app/plugins/datasource/tempo/datasource.ts index 1825d7ede6d..9b2e3a56a34 100644 --- a/public/app/plugins/datasource/tempo/datasource.ts +++ b/public/app/plugins/datasource/tempo/datasource.ts @@ -216,7 +216,7 @@ export class TempoDatasource extends DataSourceWithBackend> { + getTagValues(options: DataSourceGetTagValuesOptions): Promise> { return this.labelValuesQuery(options.key.replace(/^(resource|span)\./, '')); }