Prometheus: Add metadata for summary metrics (#24201)

* Prometheus: Add metadata for summary metrics

- summary metrics don't have metadata available from the metadata API,
so Grafana can help and just add it
- given a summary metric `foo`, we add metadata info for `foo_sum` and
`foo_count`
- with tests

* Update public/app/plugins/datasource/prometheus/language_utils.ts

Co-authored-by: gotjosh <josue@grafana.com>

Co-authored-by: gotjosh <josue@grafana.com>
This commit is contained in:
David
2020-05-07 12:02:45 +02:00
committed by GitHub
parent dc49d81693
commit 9208c8efd7
3 changed files with 63 additions and 3 deletions

View File

@@ -5,7 +5,7 @@ import { Value } from 'slate';
import { dateTime, LanguageProvider, HistoryItem } from '@grafana/data';
import { CompletionItem, TypeaheadInput, TypeaheadOutput, CompletionItemGroup } from '@grafana/ui';
import { parseSelector, processLabels, processHistogramLabels } from './language_utils';
import { parseSelector, processLabels, processHistogramLabels, fixSummariesMetadata } from './language_utils';
import PromqlSyntax, { FUNCTIONS, RATE_RANGES } from './promql';
import { PrometheusDatasource } from './datasource';
@@ -118,7 +118,7 @@ export default class PromQlLanguageProvider extends LanguageProvider {
this.metrics = await this.request('/api/v1/label/__name__/values', []);
this.lookupsDisabled = this.metrics.length > this.lookupMetricsThreshold;
this.metricsMetadata = await this.request('/api/v1/metadata', {});
this.metricsMetadata = fixSummariesMetadata(await this.request('/api/v1/metadata', {}));
this.processHistogramMetrics(this.metrics);
return [];