2021-02-11 06:45:25 -06:00
|
|
|
import { DataQuery, DataTransformerConfig } from '@grafana/data';
|
2019-09-23 07:17:00 -05:00
|
|
|
import { DataSourceSrv } from '@grafana/runtime';
|
|
|
|
|
|
|
|
export const getDefaultCondition = () => ({
|
|
|
|
type: 'query',
|
|
|
|
query: { params: ['A', '5m', 'now'] },
|
|
|
|
reducer: { type: 'avg', params: [] as any[] },
|
|
|
|
evaluator: { type: 'gt', params: [null] as any[] },
|
|
|
|
operator: { type: 'and' },
|
|
|
|
});
|
|
|
|
|
|
|
|
export const getAlertingValidationMessage = async (
|
Chore: Fix all Typescript strict null errors (#26204)
* Chore: Fix typescript strict null errors
* Added new limit
* Fixed ts issue
* fixed tests
* trying to fix type inference
* Fixing more ts errors
* Revert tsconfig option
* Fix
* Fixed code
* More fixes
* fix tests
* Updated snapshot
* Chore: More ts strict null fixes
* More fixes in some really messed up azure config components
* More fixes, current count: 441
* 419
* More fixes
* Fixed invalid initial state in explore
* Fixing tests
* Fixed tests
* Explore fix
* More fixes
* Progress
* Sub 300
* Now at 218
* Progress
* Update
* Progress
* Updated tests
* at 159
* fixed tests
* Progress
* YAy blow 100! at 94
* 10,9,8,7,6,5,4,3,2,1... lift off
* Fixed tests
* Fixed more type errors
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2020-07-10 05:46:59 -05:00
|
|
|
transformations: DataTransformerConfig[] | undefined,
|
2019-09-23 07:17:00 -05:00
|
|
|
targets: DataQuery[],
|
|
|
|
datasourceSrv: DataSourceSrv,
|
Chore: Fix all Typescript strict null errors (#26204)
* Chore: Fix typescript strict null errors
* Added new limit
* Fixed ts issue
* fixed tests
* trying to fix type inference
* Fixing more ts errors
* Revert tsconfig option
* Fix
* Fixed code
* More fixes
* fix tests
* Updated snapshot
* Chore: More ts strict null fixes
* More fixes in some really messed up azure config components
* More fixes, current count: 441
* 419
* More fixes
* Fixed invalid initial state in explore
* Fixing tests
* Fixed tests
* Explore fix
* More fixes
* Progress
* Sub 300
* Now at 218
* Progress
* Update
* Progress
* Updated tests
* at 159
* fixed tests
* Progress
* YAy blow 100! at 94
* 10,9,8,7,6,5,4,3,2,1... lift off
* Fixed tests
* Fixed more type errors
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2020-07-10 05:46:59 -05:00
|
|
|
datasourceName: string | null
|
2019-09-23 07:17:00 -05:00
|
|
|
): Promise<string> => {
|
|
|
|
if (targets.length === 0) {
|
|
|
|
return 'Could not find any metric queries';
|
|
|
|
}
|
|
|
|
|
|
|
|
if (transformations && transformations.length) {
|
|
|
|
return 'Transformations are not supported in alert queries';
|
|
|
|
}
|
|
|
|
|
|
|
|
let alertingNotSupported = 0;
|
|
|
|
let templateVariablesNotSupported = 0;
|
|
|
|
|
|
|
|
for (const target of targets) {
|
|
|
|
const dsName = target.datasource || datasourceName;
|
|
|
|
const ds = await datasourceSrv.get(dsName);
|
|
|
|
if (!ds.meta.alerting) {
|
|
|
|
alertingNotSupported++;
|
|
|
|
} else if (ds.targetContainsTemplate && ds.targetContainsTemplate(target)) {
|
|
|
|
templateVariablesNotSupported++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (alertingNotSupported === targets.length) {
|
|
|
|
return 'The datasource does not support alerting queries';
|
|
|
|
}
|
|
|
|
|
|
|
|
if (templateVariablesNotSupported === targets.length) {
|
|
|
|
return 'Template variables are not supported in alert queries';
|
|
|
|
}
|
|
|
|
|
|
|
|
return '';
|
|
|
|
};
|