datasources: querier: refactor (#108776)

datasources: querier: refactor types
This commit is contained in:
Gábor Farkas
2025-08-04 09:57:41 +02:00
committed by GitHub
parent 81f544e186
commit 6dc0dedc97
6 changed files with 68 additions and 37 deletions
@@ -7,6 +7,7 @@ import (
"github.com/grafana/grafana-plugin-sdk-go/backend"
data "github.com/grafana/grafana-plugin-sdk-go/experimental/apis/data/v0alpha1"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/services/featuremgmt"
)
@@ -20,19 +21,20 @@ type QueryDataClient interface {
}
type InstanceConfigurationSettings struct {
StackID uint32
FeatureToggles featuremgmt.FeatureToggles
FullConfig map[string]map[string]string // configuration file settings
Options map[string]string // additional settings related to an instance as set by grafana
SQLExpressionCellLimit int64
SQLExpressionOutputCellLimit int64
SQLExpressionTimeout time.Duration
ExpressionsEnabled bool
}
type DataSourceClientSupplier interface {
// Get a client for a given datasource
GetDataSourceClient(ctx context.Context, ref data.DataSourceRef, headers map[string]string, instanceConfig InstanceConfigurationSettings) (QueryDataClient, error)
type Instance interface {
GetDataSourceClient(ctx context.Context, ref data.DataSourceRef, headers map[string]string) (QueryDataClient, error)
// fetch information on the grafana instance (e.g. feature toggles)
GetInstanceConfigurationSettings(ctx context.Context) (InstanceConfigurationSettings, error)
GetSettings() InstanceConfigurationSettings
GetLogger(parent log.Logger) log.Logger
}
type InstanceProvider interface {
GetInstance(ctx context.Context) (Instance, error)
}