Support for secure socks proxy (#1650)
* Enables PDC for zabbix datasource * 4.4.0 * Updating CHANGELOG * Updating CHANGELOG * Updating CHANGELOG
This commit is contained in:
@@ -83,7 +83,7 @@ func newZabbixDatasourceInstance(dsSettings backend.DataSourceInstanceSettings)
|
||||
func (ds *ZabbixDatasource) CheckHealth(ctx context.Context, req *backend.CheckHealthRequest) (*backend.CheckHealthResult, error) {
|
||||
res := &backend.CheckHealthResult{}
|
||||
|
||||
dsInstance, err := ds.getDSInstance(req.PluginContext)
|
||||
dsInstance, err := ds.getDSInstance(ctx, req.PluginContext)
|
||||
if err != nil {
|
||||
res.Status = backend.HealthStatusError
|
||||
res.Message = "Error getting datasource instance"
|
||||
@@ -108,7 +108,7 @@ func (ds *ZabbixDatasource) QueryData(ctx context.Context, req *backend.QueryDat
|
||||
metrics.DataSourceQueryTotal.WithLabelValues("metrics").Inc()
|
||||
qdr := backend.NewQueryDataResponse()
|
||||
|
||||
zabbixDS, err := ds.getDSInstance(req.PluginContext)
|
||||
zabbixDS, err := ds.getDSInstance(ctx, req.PluginContext)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -143,8 +143,8 @@ func (ds *ZabbixDatasource) QueryData(ctx context.Context, req *backend.QueryDat
|
||||
}
|
||||
|
||||
// getDSInstance Returns cached datasource or creates new one
|
||||
func (ds *ZabbixDatasource) getDSInstance(pluginContext backend.PluginContext) (*ZabbixDatasourceInstance, error) {
|
||||
instance, err := ds.im.Get(pluginContext)
|
||||
func (ds *ZabbixDatasource) getDSInstance(ctx context.Context, pluginContext backend.PluginContext) (*ZabbixDatasourceInstance, error) {
|
||||
instance, err := ds.im.Get(ctx, pluginContext)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package datasource
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/grafana/grafana-plugin-sdk-go/backend"
|
||||
@@ -58,7 +59,7 @@ func TestZabbixBackend_getCachedDatasource(t *testing.T) {
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
ds := NewZabbixDatasource()
|
||||
got, _ := ds.getDSInstance(tt.pluginContext)
|
||||
got, _ := ds.getDSInstance(context.Background(), tt.pluginContext)
|
||||
|
||||
// Only checking the URL, being the easiest value to, and guarantee equality for
|
||||
assert.Equal(t, tt.want.zabbix.GetAPI().GetUrl().String(), got.zabbix.GetAPI().GetUrl().String())
|
||||
|
||||
@@ -41,8 +41,9 @@ func (ds *ZabbixDatasource) ZabbixAPIHandler(rw http.ResponseWriter, req *http.R
|
||||
return
|
||||
}
|
||||
|
||||
pluginCxt := httpadapter.PluginConfigFromContext(req.Context())
|
||||
dsInstance, err := ds.getDSInstance(pluginCxt)
|
||||
ctx := req.Context()
|
||||
pluginCxt := httpadapter.PluginConfigFromContext(ctx)
|
||||
dsInstance, err := ds.getDSInstance(ctx, pluginCxt)
|
||||
if err != nil {
|
||||
ds.logger.Error("Error loading datasource", "error", err)
|
||||
writeError(rw, http.StatusInternalServerError, err)
|
||||
@@ -81,8 +82,9 @@ func (ds *ZabbixDatasource) DBConnectionPostProcessingHandler(rw http.ResponseWr
|
||||
return
|
||||
}
|
||||
|
||||
pluginCxt := httpadapter.PluginConfigFromContext(req.Context())
|
||||
dsInstance, err := ds.getDSInstance(pluginCxt)
|
||||
ctx := req.Context()
|
||||
pluginCxt := httpadapter.PluginConfigFromContext(ctx)
|
||||
dsInstance, err := ds.getDSInstance(ctx, pluginCxt)
|
||||
if err != nil {
|
||||
ds.logger.Error("Error loading datasource", "error", err)
|
||||
writeError(rw, http.StatusInternalServerError, err)
|
||||
|
||||
Reference in New Issue
Block a user