[ENHANCEMENT] Implement the healthcheck
method for Prometheus datasources
#1595
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
As a first step towards #1542 (and as my first PR, so feedback appreciated), this implements a healthcheck on Prometheus Datasources.
The
DatasourceClient
interface defines ahealthcheck
method, whichhasn't actually been implemented. This implements it for the
PrometheusDatasourceClient
as a first step towards being able to test the health of a datasource.
The actual implementation calls the /-/healthy
endpoint in the Prometheus API, rather than running a query. I figured
this was a better way to test the health rather than running a dummy
query and checking the result, as running a query is a more expensive
and subjects us to the vagaries of PromQL, and potential
query timeouts which aren't directly related to whether the datasource
is configured correctly.
Checklist
[<catalog_entry>] <commit message>
naming convention using one of the followingcatalog_entry
values:FEATURE
,ENHANCEMENT
,BUGFIX
,BREAKINGCHANGE
,IGNORE
.