Files
grafana/public/app/features/alerting/unified/utils/config.ts
2022-08-01 15:01:14 +02:00

20 lines
837 B
TypeScript

import { DataSourceInstanceSettings, DataSourceJsonData, isValidGoDuration, rangeUtil } from '@grafana/data';
import { config } from '@grafana/runtime';
export function getAllDataSources(): Array<DataSourceInstanceSettings<DataSourceJsonData>> {
return Object.values(config.datasources);
}
export function checkEvaluationIntervalGlobalLimit(alertGroupEvaluateEvery: string) {
if (!isValidGoDuration(config.unifiedAlerting.minInterval)) {
return { globalLimit: 0, exceedsLimit: false };
}
const evaluateEveryMs = rangeUtil.intervalToMs(alertGroupEvaluateEvery);
const evaluateEveryGlobalLimitMs = rangeUtil.intervalToMs(config.unifiedAlerting.minInterval);
const exceedsLimit = evaluateEveryGlobalLimitMs > evaluateEveryMs && evaluateEveryMs > 0;
return { globalLimit: evaluateEveryGlobalLimitMs, exceedsLimit };
}