mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Prometheus: Add time range parameters to labels API (#27548)
* Add time range parameters to labels API Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com> * Fix minor issues Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com> * Add range to explore component Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com> * Add range to query component Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com> * Cache metric names for time range Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com> * Update public/app/plugins/datasource/prometheus/components/PromQueryField.tsx Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com> * Remove unused method Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com> * Only compare the ranges Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com> * Update public/app/plugins/datasource/prometheus/components/PromQueryField.tsx Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com> Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
This commit is contained in:
@@ -17,7 +17,14 @@ import Prism from 'prismjs';
|
||||
// dom also includes Element polyfills
|
||||
import { PromQuery, PromOptions, PromMetricsMetadata } from '../types';
|
||||
import { CancelablePromise, makePromiseCancelable } from 'app/core/utils/CancelablePromise';
|
||||
import { ExploreQueryFieldProps, QueryHint, isDataFrame, toLegacyResponseData, HistoryItem } from '@grafana/data';
|
||||
import {
|
||||
ExploreQueryFieldProps,
|
||||
QueryHint,
|
||||
isDataFrame,
|
||||
toLegacyResponseData,
|
||||
HistoryItem,
|
||||
AbsoluteTimeRange,
|
||||
} from '@grafana/data';
|
||||
import { DOMUtil, SuggestionsState } from '@grafana/ui';
|
||||
import { PrometheusDatasource } from '../datasource';
|
||||
|
||||
@@ -163,9 +170,24 @@ class PromQueryField extends React.PureComponent<PromQueryFieldProps, PromQueryF
|
||||
const {
|
||||
data,
|
||||
datasource: { languageProvider },
|
||||
range,
|
||||
} = this.props;
|
||||
|
||||
if (languageProvider !== prevProps.datasource.languageProvider) {
|
||||
let refreshed = false;
|
||||
if (range && prevProps.range) {
|
||||
const absoluteRange: AbsoluteTimeRange = { from: range.from.valueOf(), to: range.to.valueOf() };
|
||||
const prevAbsoluteRange: AbsoluteTimeRange = {
|
||||
from: prevProps.range.from.valueOf(),
|
||||
to: prevProps.range.to.valueOf(),
|
||||
};
|
||||
|
||||
if (!_.isEqual(absoluteRange, prevAbsoluteRange)) {
|
||||
this.refreshMetrics();
|
||||
refreshed = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!refreshed && languageProvider !== prevProps.datasource.languageProvider) {
|
||||
this.refreshMetrics();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user