@@ -288,39 +104,4 @@ export const PromQueryBuilder = React.memo
((props) => {
);
});
-/**
- * Returns list of metrics, either all or filtered by query param. It also adds description string to each metric if it
- * exists.
- * @param datasource
- * @param query
- */
-async function getMetrics(
- datasource: PrometheusDatasource,
- query: PromVisualQuery
-): Promise> {
- // Makes sure we loaded the metadata for metrics. Usually this is done in the start() method of the provider but we
- // don't use it with the visual builder and there is no need to run all the start() setup anyway.
- if (!datasource.languageProvider.metricsMetadata) {
- await datasource.languageProvider.loadMetricsMetadata();
- }
-
- // Error handling for when metrics metadata returns as undefined
- if (!datasource.languageProvider.metricsMetadata) {
- datasource.languageProvider.metricsMetadata = {};
- }
-
- let metrics;
- if (query.labels.length > 0) {
- const expr = promQueryModeller.renderLabels(query.labels);
- metrics = (await datasource.languageProvider.getSeries(expr, true))['__name__'] ?? [];
- } else {
- metrics = (await datasource.languageProvider.getLabelValues('__name__')) ?? [];
- }
-
- return metrics.map((m) => ({
- value: m,
- description: getMetadataString(m, datasource.languageProvider.metricsMetadata!),
- }));
-}
-
PromQueryBuilder.displayName = 'PromQueryBuilder';
diff --git a/public/app/plugins/datasource/prometheus/types.ts b/public/app/plugins/datasource/prometheus/types.ts
index 60af3af315f..f1de7af6b07 100644
--- a/public/app/plugins/datasource/prometheus/types.ts
+++ b/public/app/plugins/datasource/prometheus/types.ts
@@ -4,7 +4,7 @@ import { DataQuery } from '@grafana/schema';
import { PromApplication } from '../../../types/unified-alerting-dto';
import { Prometheus as GenPromQuery } from './dataquery.gen';
-import { QueryEditorMode } from './querybuilder/shared/types';
+import { QueryBuilderLabelFilter, QueryEditorMode } from './querybuilder/shared/types';
export interface PromQuery extends GenPromQuery, DataQuery {
/**
@@ -191,6 +191,7 @@ export interface PromVariableQuery extends DataQuery {
metric?: string;
varQuery?: string;
seriesQuery?: string;
+ labelFilters?: QueryBuilderLabelFilter[];
}
export type StandardPromVariableQuery = {