Prometheus: Improve autocomplete performance and remove disabling of dynamic label lookup (#30199)

* processLabels: Use Sets instead of Array

* Add and update comment

* Limit autocomplete items to 10000

* Remove lookup treshold, limit display of items

* Update tests

* Add test

* Update public/app/plugins/datasource/prometheus/language_provider.ts
This commit is contained in:
Ivana Huckova
2021-01-14 15:45:45 +01:00
committed by GitHub
parent d10dbc70a1
commit a05596848d
5 changed files with 68 additions and 77 deletions

View File

@@ -1,7 +1,7 @@
// @ts-ignore
import RCCascader from 'rc-cascader';
import React from 'react';
import PromQlLanguageProvider, { DEFAULT_LOOKUP_METRICS_THRESHOLD } from '../language_provider';
import PromQlLanguageProvider from '../language_provider';
import PromQueryField, { groupMetricsByPrefix, RECORDING_RULES_GROUP } from './PromQueryField';
import { DataSourceInstanceSettings, dateTime } from '@grafana/data';
import { PromOptions } from '../types';
@@ -254,7 +254,6 @@ function makeLanguageProvider(options: { metrics: string[][] }) {
metrics: [],
metricsMetadata: {},
lookupsDisabled: false,
lookupMetricsThreshold: DEFAULT_LOOKUP_METRICS_THRESHOLD,
start() {
this.metrics = metricsStack.shift();
return Promise.resolve([]);

View File

@@ -209,9 +209,9 @@ class PromQueryField extends React.PureComponent<PromQueryFieldProps, PromQueryF
let hint = hints.length > 0 ? hints[0] : null;
// Hint for big disabled lookups
if (!hint && !datasource.lookupsDisabled && datasource.languageProvider.lookupsDisabled) {
if (!hint && datasource.lookupsDisabled) {
hint = {
label: `Dynamic label lookup is disabled for datasources with more than ${datasource.languageProvider.lookupMetricsThreshold} metrics.`,
label: `Labels and metrics lookup was disabled in data source settings.`,
type: 'INFO',
};
}