|
|
|
@ -3,7 +3,7 @@ import React, { FC, useEffect, useState, memo } from 'react'; |
|
|
|
|
|
|
|
|
|
import { PrometheusDatasource } from '../datasource'; |
|
|
|
|
import { PromQuery } from '../types'; |
|
|
|
|
import { DataQueryRequest, PanelData, textUtil } from '@grafana/data'; |
|
|
|
|
import { DataQueryRequest, PanelData, ScopedVars, textUtil, rangeUtil } from '@grafana/data'; |
|
|
|
|
|
|
|
|
|
interface Props { |
|
|
|
|
datasource: PrometheusDatasource; |
|
|
|
@ -22,7 +22,7 @@ const PromLink: FC<Props> = ({ panelData, query, datasource }) => { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const { |
|
|
|
|
request: { range, interval }, |
|
|
|
|
request: { range, interval, scopedVars }, |
|
|
|
|
} = panelData; |
|
|
|
|
|
|
|
|
|
const start = datasource.getPrometheusTime(range.from, false); |
|
|
|
@ -30,8 +30,18 @@ const PromLink: FC<Props> = ({ panelData, query, datasource }) => { |
|
|
|
|
const rangeDiff = Math.ceil(end - start); |
|
|
|
|
const endTime = range.to.utc().format('YYYY-MM-DD HH:mm'); |
|
|
|
|
|
|
|
|
|
const enrichedScopedVars: ScopedVars = { |
|
|
|
|
...scopedVars, |
|
|
|
|
// As we support $__rate_interval variable in min step, we need add it to scopedVars
|
|
|
|
|
...datasource.getRateIntervalScopedVariable( |
|
|
|
|
rangeUtil.intervalToSeconds(interval), |
|
|
|
|
rangeUtil.intervalToSeconds(datasource.interval) |
|
|
|
|
), |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const options = { |
|
|
|
|
interval, |
|
|
|
|
scopedVars: enrichedScopedVars, |
|
|
|
|
} as DataQueryRequest<PromQuery>; |
|
|
|
|
|
|
|
|
|
const queryOptions = datasource.createQuery(query, options, start, end); |
|
|
|
|