mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Tempo: Use echo endpoint when testing Tempo datasource (#38018)
* Use echo endpoint when testing Tempo datasource * Remove unreachable error message * Null check response
This commit is contained in:
parent
f7501ff77f
commit
6ed60c0bec
@ -1,4 +1,4 @@
|
||||
import { lastValueFrom, from, merge, Observable, of, throwError } from 'rxjs';
|
||||
import { from, merge, Observable, of, throwError } from 'rxjs';
|
||||
import { map, mergeMap, toArray } from 'rxjs/operators';
|
||||
import {
|
||||
DataQuery,
|
||||
@ -158,19 +158,16 @@ export class TempoDatasource extends DataSourceWithBackend<TempoQuery, TempoJson
|
||||
}
|
||||
|
||||
async testDatasource(): Promise<any> {
|
||||
// to test Tempo we send a dummy traceID and verify Tempo answers with 'trace not found'
|
||||
const response = await lastValueFrom(super.query({ targets: [{ query: '0' }] } as any));
|
||||
const options: BackendSrvRequest = {
|
||||
headers: {},
|
||||
method: 'GET',
|
||||
url: `${this.instanceSettings.url}/api/echo`,
|
||||
};
|
||||
const response = await getBackendSrv().fetch<any>(options).toPromise();
|
||||
|
||||
const errorMessage = response.error?.message;
|
||||
if (
|
||||
errorMessage &&
|
||||
errorMessage.startsWith('failed to get trace') &&
|
||||
errorMessage.endsWith('trace not found in Tempo')
|
||||
) {
|
||||
if (response?.ok) {
|
||||
return { status: 'success', message: 'Data source is working' };
|
||||
}
|
||||
|
||||
return { status: 'error', message: 'Data source is not working' + (errorMessage ? `: ${errorMessage}` : '') };
|
||||
}
|
||||
|
||||
getQueryDisplayText(query: TempoQuery) {
|
||||
|
Loading…
Reference in New Issue
Block a user