TSDB: add deprecation comments to many tsdb structs (#33281)

This commit is contained in:
Ryan McKinley
2021-04-22 18:03:11 -07:00
committed by GitHub
parent aa5bdff97d
commit 7627b55ef4
44 changed files with 124 additions and 12 deletions

View File

@ -19,6 +19,7 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
) )
// nolint:staticcheck // plugins.DataPlugin deprecated
func TestService(t *testing.T) { func TestService(t *testing.T) {
dsDF := data.NewFrame("test", dsDF := data.NewFrame("test",
data.NewField("time", nil, []*time.Time{utp(1)}), data.NewField("time", nil, []*time.Time{utp(1)}),
@ -102,6 +103,7 @@ type mockEndpoint struct {
Frames data.Frames Frames data.Frames
} }
// nolint:staticcheck // plugins.DataQueryResult deprecated
func (me *mockEndpoint) DataQuery(ctx context.Context, ds *models.DataSource, query plugins.DataQuery) ( func (me *mockEndpoint) DataQuery(ctx context.Context, ds *models.DataSource, query plugins.DataQuery) (
plugins.DataResponse, error) { plugins.DataResponse, error) {
return plugins.DataResponse{ return plugins.DataResponse{

View File

@ -43,6 +43,7 @@ func (cp *corePlugin) Logger() log.Logger {
return cp.logger return cp.logger
} }
//nolint: staticcheck // plugins.DataResponse deprecated
func (cp *corePlugin) DataQuery(ctx context.Context, dsInfo *models.DataSource, func (cp *corePlugin) DataQuery(ctx context.Context, dsInfo *models.DataSource,
tsdbQuery plugins.DataQuery) (plugins.DataResponse, error) { tsdbQuery plugins.DataQuery) (plugins.DataResponse, error) {
// TODO: Inline the adapter, since it shouldn't be necessary // TODO: Inline the adapter, since it shouldn't be necessary

View File

@ -11,6 +11,7 @@ import (
"github.com/grafana/grafana/pkg/plugins/adapters" "github.com/grafana/grafana/pkg/plugins/adapters"
) )
// nolint:staticcheck // plugins.DataPlugin deprecated
func newQueryEndpointAdapter(pluginID string, logger log.Logger, handler backend.QueryDataHandler) plugins.DataPlugin { func newQueryEndpointAdapter(pluginID string, logger log.Logger, handler backend.QueryDataHandler) plugins.DataPlugin {
return &queryEndpointAdapter{ return &queryEndpointAdapter{
pluginID: pluginID, pluginID: pluginID,
@ -45,6 +46,7 @@ func modelToInstanceSettings(ds *models.DataSource) (*backend.DataSourceInstance
}, nil }, nil
} }
// nolint:staticcheck // plugins.DataQuery deprecated
func (a *queryEndpointAdapter) DataQuery(ctx context.Context, ds *models.DataSource, query plugins.DataQuery) ( func (a *queryEndpointAdapter) DataQuery(ctx context.Context, ds *models.DataSource, query plugins.DataQuery) (
plugins.DataResponse, error) { plugins.DataResponse, error) {
instanceSettings, err := modelToInstanceSettings(ds) instanceSettings, err := modelToInstanceSettings(ds)

View File

@ -113,6 +113,7 @@ func (m *manager) getAWSEnvironmentVariables() []string {
return variables return variables
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (m *manager) GetDataPlugin(pluginID string) interface{} { func (m *manager) GetDataPlugin(pluginID string) interface{} {
plugin := m.plugins[pluginID] plugin := m.plugins[pluginID]
if plugin == nil { if plugin == nil {

View File

@ -664,6 +664,7 @@ func collectPluginFilesWithin(rootDir string) ([]string, error) {
} }
// GetDataPlugin gets a DataPlugin with a certain name. If none is found, nil is returned. // GetDataPlugin gets a DataPlugin with a certain name. If none is found, nil is returned.
//nolint: staticcheck // plugins.DataPlugin deprecated
func (pm *PluginManager) GetDataPlugin(id string) plugins.DataPlugin { func (pm *PluginManager) GetDataPlugin(id string) plugins.DataPlugin {
if p, exists := pm.dataSources[id]; exists && p.CanHandleDataQueries() { if p, exists := pm.dataSources[id]; exists && p.CanHandleDataQueries() {
return p return p

View File

@ -16,7 +16,7 @@ import (
"github.com/timberio/go-datemath" "github.com/timberio/go-datemath"
) )
// DataSubQuery represents a data sub-query. // DataSubQuery represents a data sub-query. New work should use the plugin SDK.
type DataSubQuery struct { type DataSubQuery struct {
RefID string `json:"refId"` RefID string `json:"refId"`
Model *simplejson.Json `json:"model,omitempty"` Model *simplejson.Json `json:"model,omitempty"`
@ -26,7 +26,7 @@ type DataSubQuery struct {
QueryType string `json:"queryType"` QueryType string `json:"queryType"`
} }
// DataQuery contains all information about a data query request. // DataQuery contains all information about a data query request. New work should use the plugin SDK.
type DataQuery struct { type DataQuery struct {
TimeRange *DataTimeRange TimeRange *DataTimeRange
Queries []DataSubQuery Queries []DataSubQuery
@ -55,6 +55,7 @@ type DataTimeSeriesPoints []DataTimePoint
type DataTimeSeriesSlice []DataTimeSeries type DataTimeSeriesSlice []DataTimeSeries
type DataRowValues []interface{} type DataRowValues []interface{}
// Deprecated: DataQueryResult should use backend.QueryDataResponse
type DataQueryResult struct { type DataQueryResult struct {
Error error `json:"-"` Error error `json:"-"`
ErrorString string `json:"error,omitempty"` ErrorString string `json:"error,omitempty"`
@ -179,12 +180,14 @@ func (r *DataQueryResult) UnmarshalJSON(b []byte) error {
return nil return nil
} }
// DataTimeSeries -- this structure is deprecated, all new work should use DataFrames from the SDK
type DataTimeSeries struct { type DataTimeSeries struct {
Name string `json:"name"` Name string `json:"name"`
Points DataTimeSeriesPoints `json:"points"` Points DataTimeSeriesPoints `json:"points"`
Tags map[string]string `json:"tags,omitempty"` Tags map[string]string `json:"tags,omitempty"`
} }
// Deprecated: DataResponse -- this structure is deprecated, all new work should use backend.QueryDataResponse
type DataResponse struct { type DataResponse struct {
Results map[string]DataQueryResult `json:"results"` Results map[string]DataQueryResult `json:"results"`
Message string `json:"message,omitempty"` Message string `json:"message,omitempty"`
@ -228,6 +231,7 @@ func (r DataResponse) ToBackendDataResponse() (*backend.QueryDataResponse, error
return qdr, nil return qdr, nil
} }
// Deprecated: use the plugin SDK
type DataPlugin interface { type DataPlugin interface {
DataQuery(ctx context.Context, ds *models.DataSource, query DataQuery) (DataResponse, error) DataQuery(ctx context.Context, ds *models.DataSource, query DataQuery) (DataResponse, error)
} }

View File

@ -189,6 +189,7 @@ type queryConditionTestContext struct {
type queryConditionScenarioFunc func(c *queryConditionTestContext) type queryConditionScenarioFunc func(c *queryConditionTestContext)
//nolint: staticcheck // plugins.DataPlugin deprecated
func (ctx *queryConditionTestContext) exec() (*alerting.ConditionResult, error) { func (ctx *queryConditionTestContext) exec() (*alerting.ConditionResult, error) {
jsonModel, err := simplejson.NewJson([]byte(`{ jsonModel, err := simplejson.NewJson([]byte(`{
"type": "query", "type": "query",
@ -228,9 +229,11 @@ func (ctx *queryConditionTestContext) exec() (*alerting.ConditionResult, error)
} }
type fakeReqHandler struct { type fakeReqHandler struct {
//nolint: staticcheck // plugins.DataPlugin deprecated
response plugins.DataResponse response plugins.DataResponse
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (rh fakeReqHandler) HandleRequest(context.Context, *models.DataSource, plugins.DataQuery) ( func (rh fakeReqHandler) HandleRequest(context.Context, *models.DataSource, plugins.DataQuery) (
plugins.DataResponse, error) { plugins.DataResponse, error) {
return rh.response, nil return rh.response, nil

View File

@ -18,6 +18,7 @@ type queryReducer struct {
} }
//nolint: gocyclo //nolint: gocyclo
//nolint: staticcheck // plugins.DataTimeSeries deprecated
func (s *queryReducer) Reduce(series plugins.DataTimeSeries) null.Float { func (s *queryReducer) Reduce(series plugins.DataTimeSeries) null.Float {
if len(series.Points) == 0 { if len(series.Points) == 0 {
return null.FloatFromPtr(nil) return null.FloatFromPtr(nil)
@ -126,6 +127,7 @@ func newSimpleReducer(t string) *queryReducer {
return &queryReducer{Type: t} return &queryReducer{Type: t}
} }
//nolint: staticcheck // plugins.* deprecated
func calculateDiff(series plugins.DataTimeSeries, allNull bool, value float64, fn func(float64, float64) float64) (bool, float64) { func calculateDiff(series plugins.DataTimeSeries, allNull bool, value float64, fn func(float64, float64) float64) (bool, float64) {
var ( var (
points = series.Points points = series.Points

View File

@ -49,6 +49,7 @@ type ApplicationInsightsQuery struct {
aggregation string aggregation string
} }
// nolint:staticcheck // plugins.DataQueryResult deprecated
func (e *ApplicationInsightsDatasource) executeTimeSeriesQuery(ctx context.Context, func (e *ApplicationInsightsDatasource) executeTimeSeriesQuery(ctx context.Context,
originalQueries []plugins.DataSubQuery, originalQueries []plugins.DataSubQuery,
timeRange plugins.DataTimeRange) (plugins.DataResponse, error) { timeRange plugins.DataTimeRange) (plugins.DataResponse, error) {
@ -142,6 +143,7 @@ func (e *ApplicationInsightsDatasource) buildQueries(queries []plugins.DataSubQu
return applicationInsightsQueries, nil return applicationInsightsQueries, nil
} }
// nolint:staticcheck // plugins.DataQueryResult deprecated
func (e *ApplicationInsightsDatasource) executeQuery(ctx context.Context, query *ApplicationInsightsQuery) ( func (e *ApplicationInsightsDatasource) executeQuery(ctx context.Context, query *ApplicationInsightsQuery) (
plugins.DataQueryResult, error) { plugins.DataQueryResult, error) {
queryResult := plugins.DataQueryResult{Meta: simplejson.New(), RefID: query.RefID} queryResult := plugins.DataQueryResult{Meta: simplejson.New(), RefID: query.RefID}

View File

@ -45,6 +45,7 @@ type AzureLogAnalyticsQuery struct {
// 1. build the AzureMonitor url and querystring for each query // 1. build the AzureMonitor url and querystring for each query
// 2. executes each query by calling the Azure Monitor API // 2. executes each query by calling the Azure Monitor API
// 3. parses the responses for each query into the timeseries format // 3. parses the responses for each query into the timeseries format
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *AzureLogAnalyticsDatasource) executeTimeSeriesQuery(ctx context.Context, originalQueries []plugins.DataSubQuery, func (e *AzureLogAnalyticsDatasource) executeTimeSeriesQuery(ctx context.Context, originalQueries []plugins.DataSubQuery,
timeRange plugins.DataTimeRange) (plugins.DataResponse, error) { timeRange plugins.DataTimeRange) (plugins.DataResponse, error) {
result := plugins.DataResponse{ result := plugins.DataResponse{
@ -111,6 +112,7 @@ func (e *AzureLogAnalyticsDatasource) buildQueries(queries []plugins.DataSubQuer
return azureLogAnalyticsQueries, nil return azureLogAnalyticsQueries, nil
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *AzureLogAnalyticsDatasource) executeQuery(ctx context.Context, query *AzureLogAnalyticsQuery, func (e *AzureLogAnalyticsDatasource) executeQuery(ctx context.Context, query *AzureLogAnalyticsQuery,
queries []plugins.DataSubQuery, timeRange plugins.DataTimeRange) plugins.DataQueryResult { queries []plugins.DataSubQuery, timeRange plugins.DataTimeRange) plugins.DataQueryResult {
queryResult := plugins.DataQueryResult{RefID: query.RefID} queryResult := plugins.DataQueryResult{RefID: query.RefID}

View File

@ -41,6 +41,7 @@ const azureMonitorAPIVersion = "2018-01-01"
// 1. build the AzureMonitor url and querystring for each query // 1. build the AzureMonitor url and querystring for each query
// 2. executes each query by calling the Azure Monitor API // 2. executes each query by calling the Azure Monitor API
// 3. parses the responses for each query into the timeseries format // 3. parses the responses for each query into the timeseries format
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *AzureMonitorDatasource) executeTimeSeriesQuery(ctx context.Context, originalQueries []plugins.DataSubQuery, func (e *AzureMonitorDatasource) executeTimeSeriesQuery(ctx context.Context, originalQueries []plugins.DataSubQuery,
timeRange plugins.DataTimeRange) (plugins.DataResponse, error) { timeRange plugins.DataTimeRange) (plugins.DataResponse, error) {
result := plugins.DataResponse{ result := plugins.DataResponse{
@ -172,6 +173,7 @@ func (e *AzureMonitorDatasource) buildQueries(queries []plugins.DataSubQuery, ti
return azureMonitorQueries, nil return azureMonitorQueries, nil
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *AzureMonitorDatasource) executeQuery(ctx context.Context, query *AzureMonitorQuery, queries []plugins.DataSubQuery, func (e *AzureMonitorDatasource) executeQuery(ctx context.Context, query *AzureMonitorQuery, queries []plugins.DataSubQuery,
timeRange plugins.DataTimeRange) (plugins.DataQueryResult, AzureMonitorResponse, error) { timeRange plugins.DataTimeRange) (plugins.DataQueryResult, AzureMonitorResponse, error) {
queryResult := plugins.DataQueryResult{RefID: query.RefID} queryResult := plugins.DataQueryResult{RefID: query.RefID}

View File

@ -433,6 +433,7 @@ func TestAzureMonitorParseResponse(t *testing.T) {
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
azData := loadTestFile(t, "azuremonitor/"+tt.responseFile) azData := loadTestFile(t, "azuremonitor/"+tt.responseFile)
//nolint: staticcheck // plugins.DataPlugin deprecated
res := plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
require.NotNil(t, res) require.NotNil(t, res)
dframes, err := datasource.parseResponse(azData, tt.mockQuery) dframes, err := datasource.parseResponse(azData, tt.mockQuery)

View File

@ -41,6 +41,7 @@ type AzureMonitorExecutor struct {
} }
// NewAzureMonitorExecutor initializes a http client // NewAzureMonitorExecutor initializes a http client
//nolint: staticcheck // plugins.DataPlugin deprecated
func (s *Service) NewExecutor(dsInfo *models.DataSource) (plugins.DataPlugin, error) { func (s *Service) NewExecutor(dsInfo *models.DataSource) (plugins.DataPlugin, error) {
httpClient, err := dsInfo.GetHttpClient() httpClient, err := dsInfo.GetHttpClient()
if err != nil { if err != nil {
@ -58,6 +59,7 @@ func (s *Service) NewExecutor(dsInfo *models.DataSource) (plugins.DataPlugin, er
// expected by chosen Azure Monitor service (Azure Monitor, App Insights etc.) // expected by chosen Azure Monitor service (Azure Monitor, App Insights etc.)
// executes the queries against the API and parses the response into // executes the queries against the API and parses the response into
// the right format // the right format
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *AzureMonitorExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource, func (e *AzureMonitorExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource,
tsdbQuery plugins.DataQuery) (plugins.DataResponse, error) { tsdbQuery plugins.DataQuery) (plugins.DataResponse, error) {
var err error var err error

View File

@ -39,6 +39,7 @@ type InsightsAnalyticsQuery struct {
Target string Target string
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *InsightsAnalyticsDatasource) executeTimeSeriesQuery(ctx context.Context, func (e *InsightsAnalyticsDatasource) executeTimeSeriesQuery(ctx context.Context,
originalQueries []plugins.DataSubQuery, timeRange plugins.DataTimeRange) (plugins.DataResponse, error) { originalQueries []plugins.DataSubQuery, timeRange plugins.DataTimeRange) (plugins.DataResponse, error) {
result := plugins.DataResponse{ result := plugins.DataResponse{
@ -96,6 +97,7 @@ func (e *InsightsAnalyticsDatasource) buildQueries(queries []plugins.DataSubQuer
return iaQueries, nil return iaQueries, nil
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *InsightsAnalyticsDatasource) executeQuery(ctx context.Context, query *InsightsAnalyticsQuery) plugins.DataQueryResult { func (e *InsightsAnalyticsDatasource) executeQuery(ctx context.Context, query *InsightsAnalyticsQuery) plugins.DataQueryResult {
queryResult := plugins.DataQueryResult{RefID: query.RefID} queryResult := plugins.DataQueryResult{RefID: query.RefID}

View File

@ -7,6 +7,7 @@ import (
"github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/plugins"
) )
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *Executor) executeAnnotationQuery(ctx context.Context, tsdbQuery plugins.DataQuery) ( func (e *Executor) executeAnnotationQuery(ctx context.Context, tsdbQuery plugins.DataQuery) (
plugins.DataResponse, error) { plugins.DataResponse, error) {
result := plugins.DataResponse{ result := plugins.DataResponse{
@ -36,6 +37,7 @@ func (e *Executor) executeAnnotationQuery(ctx context.Context, tsdbQuery plugins
return result, err return result, err
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func transformAnnotationToTable(data []map[string]string, result *plugins.DataQueryResult) { func transformAnnotationToTable(data []map[string]string, result *plugins.DataQueryResult) {
table := plugins.DataTable{ table := plugins.DataTable{
Columns: make([]plugins.DataTableColumn, 4), Columns: make([]plugins.DataTableColumn, 4),

View File

@ -14,6 +14,7 @@ func TestExecutor_parseToAnnotations(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.Len(t, d.TimeSeries, 3) require.Len(t, d.TimeSeries, 3)
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "annotationQuery"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "annotationQuery"}
query := &cloudMonitoringTimeSeriesFilter{} query := &cloudMonitoringTimeSeriesFilter{}
@ -30,6 +31,7 @@ func TestExecutor_parseToAnnotations(t *testing.T) {
} }
func TestCloudMonitoringExecutor_parseToAnnotations_emptyTimeSeries(t *testing.T) { func TestCloudMonitoringExecutor_parseToAnnotations_emptyTimeSeries(t *testing.T) {
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "annotationQuery"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "annotationQuery"}
query := &cloudMonitoringTimeSeriesFilter{} query := &cloudMonitoringTimeSeriesFilter{}
@ -46,6 +48,7 @@ func TestCloudMonitoringExecutor_parseToAnnotations_emptyTimeSeries(t *testing.T
} }
func TestCloudMonitoringExecutor_parseToAnnotations_noPointsInSeries(t *testing.T) { func TestCloudMonitoringExecutor_parseToAnnotations_noPointsInSeries(t *testing.T) {
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "annotationQuery"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "annotationQuery"}
query := &cloudMonitoringTimeSeriesFilter{} query := &cloudMonitoringTimeSeriesFilter{}

View File

@ -88,6 +88,7 @@ type Executor struct {
} }
// NewExecutor returns an Executor. // NewExecutor returns an Executor.
//nolint: staticcheck // plugins.DataPlugin deprecated
func (s *Service) NewExecutor(dsInfo *models.DataSource) (plugins.DataPlugin, error) { func (s *Service) NewExecutor(dsInfo *models.DataSource) (plugins.DataPlugin, error) {
httpClient, err := dsInfo.GetHttpClient() httpClient, err := dsInfo.GetHttpClient()
if err != nil { if err != nil {
@ -108,6 +109,7 @@ func init() {
// Query takes in the frontend queries, parses them into the CloudMonitoring query format // Query takes in the frontend queries, parses them into the CloudMonitoring query format
// executes the queries against the CloudMonitoring API and parses the response into // executes the queries against the CloudMonitoring API and parses the response into
// the time series or table format // the time series or table format
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *Executor) DataQuery(ctx context.Context, dsInfo *models.DataSource, tsdbQuery plugins.DataQuery) ( func (e *Executor) DataQuery(ctx context.Context, dsInfo *models.DataSource, tsdbQuery plugins.DataQuery) (
plugins.DataResponse, error) { plugins.DataResponse, error) {
var result plugins.DataResponse var result plugins.DataResponse
@ -128,11 +130,14 @@ func (e *Executor) DataQuery(ctx context.Context, dsInfo *models.DataSource, tsd
return result, err return result, err
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *Executor) getGCEDefaultProject(ctx context.Context, tsdbQuery plugins.DataQuery) (plugins.DataResponse, error) { func (e *Executor) getGCEDefaultProject(ctx context.Context, tsdbQuery plugins.DataQuery) (plugins.DataResponse, error) {
result := plugins.DataResponse{ result := plugins.DataResponse{
//nolint: staticcheck // plugins.DataPlugin deprecated
Results: make(map[string]plugins.DataQueryResult), Results: make(map[string]plugins.DataQueryResult),
} }
refID := tsdbQuery.Queries[0].RefID refID := tsdbQuery.Queries[0].RefID
//nolint: staticcheck // plugins.DataPlugin deprecated
queryResult := plugins.DataQueryResult{Meta: simplejson.New(), RefID: refID} queryResult := plugins.DataQueryResult{Meta: simplejson.New(), RefID: refID}
gceDefaultProject, err := e.getDefaultProject(ctx) gceDefaultProject, err := e.getDefaultProject(ctx)
@ -147,9 +152,11 @@ func (e *Executor) getGCEDefaultProject(ctx context.Context, tsdbQuery plugins.D
return result, nil return result, nil
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *Executor) executeTimeSeriesQuery(ctx context.Context, tsdbQuery plugins.DataQuery) ( func (e *Executor) executeTimeSeriesQuery(ctx context.Context, tsdbQuery plugins.DataQuery) (
plugins.DataResponse, error) { plugins.DataResponse, error) {
result := plugins.DataResponse{ result := plugins.DataResponse{
//nolint: staticcheck // plugins.DataPlugin deprecated
Results: make(map[string]plugins.DataQueryResult), Results: make(map[string]plugins.DataQueryResult),
} }

View File

@ -595,6 +595,7 @@ func TestCloudMonitoring(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, 1, len(data.TimeSeries)) assert.Equal(t, 1, len(data.TimeSeries))
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}} query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}}
err = query.parseResponse(res, data, "") err = query.parseResponse(res, data, "")
@ -619,7 +620,7 @@ func TestCloudMonitoring(t *testing.T) {
data, err := loadTestFile("./test-data/2-series-response-no-agg.json") data, err := loadTestFile("./test-data/2-series-response-no-agg.json")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, 3, len(data.TimeSeries)) assert.Equal(t, 3, len(data.TimeSeries))
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}} query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}}
err = query.parseResponse(res, data, "") err = query.parseResponse(res, data, "")
@ -657,7 +658,7 @@ func TestCloudMonitoring(t *testing.T) {
data, err := loadTestFile("./test-data/2-series-response-no-agg.json") data, err := loadTestFile("./test-data/2-series-response-no-agg.json")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, 3, len(data.TimeSeries)) assert.Equal(t, 3, len(data.TimeSeries))
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}, GroupBys: []string{ query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}, GroupBys: []string{
"metric.label.instance_name", "resource.label.zone", "metric.label.instance_name", "resource.label.zone",
@ -677,7 +678,7 @@ func TestCloudMonitoring(t *testing.T) {
data, err := loadTestFile("./test-data/2-series-response-no-agg.json") data, err := loadTestFile("./test-data/2-series-response-no-agg.json")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, 3, len(data.TimeSeries)) assert.Equal(t, 3, len(data.TimeSeries))
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
t.Run("and the alias pattern is for metric type, a metric label and a resource label", func(t *testing.T) { t.Run("and the alias pattern is for metric type, a metric label and a resource label", func(t *testing.T) {
@ -711,7 +712,7 @@ func TestCloudMonitoring(t *testing.T) {
data, err := loadTestFile("./test-data/3-series-response-distribution-exponential.json") data, err := loadTestFile("./test-data/3-series-response-distribution-exponential.json")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, 1, len(data.TimeSeries)) assert.Equal(t, 1, len(data.TimeSeries))
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}, AliasBy: "{{bucket}}"} query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}, AliasBy: "{{bucket}}"}
err = query.parseResponse(res, data, "") err = query.parseResponse(res, data, "")
@ -753,7 +754,7 @@ func TestCloudMonitoring(t *testing.T) {
data, err := loadTestFile("./test-data/4-series-response-distribution-explicit.json") data, err := loadTestFile("./test-data/4-series-response-distribution-explicit.json")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, 1, len(data.TimeSeries)) assert.Equal(t, 1, len(data.TimeSeries))
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}, AliasBy: "{{bucket}}"} query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}, AliasBy: "{{bucket}}"}
err = query.parseResponse(res, data, "") err = query.parseResponse(res, data, "")
@ -788,7 +789,7 @@ func TestCloudMonitoring(t *testing.T) {
data, err := loadTestFile("./test-data/5-series-response-meta-data.json") data, err := loadTestFile("./test-data/5-series-response-meta-data.json")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, 3, len(data.TimeSeries)) assert.Equal(t, 3, len(data.TimeSeries))
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}, AliasBy: "{{bucket}}"} query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}, AliasBy: "{{bucket}}"}
err = query.parseResponse(res, data, "") err = query.parseResponse(res, data, "")
@ -824,6 +825,7 @@ func TestCloudMonitoring(t *testing.T) {
assert.Equal(t, 3, len(data.TimeSeries)) assert.Equal(t, 3, len(data.TimeSeries))
t.Run("and systemlabel contains key with array of string", func(t *testing.T) { t.Run("and systemlabel contains key with array of string", func(t *testing.T) {
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}, AliasBy: "{{metadata.system_labels.test}}"} query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}, AliasBy: "{{metadata.system_labels.test}}"}
err = query.parseResponse(res, data, "") err = query.parseResponse(res, data, "")
@ -838,6 +840,7 @@ func TestCloudMonitoring(t *testing.T) {
}) })
t.Run("and systemlabel contains key with array of string2", func(t *testing.T) { t.Run("and systemlabel contains key with array of string2", func(t *testing.T) {
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}, AliasBy: "{{metadata.system_labels.test2}}"} query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}, AliasBy: "{{metadata.system_labels.test2}}"}
err = query.parseResponse(res, data, "") err = query.parseResponse(res, data, "")
@ -855,6 +858,7 @@ func TestCloudMonitoring(t *testing.T) {
assert.Equal(t, 1, len(data.TimeSeries)) assert.Equal(t, 1, len(data.TimeSeries))
t.Run("and alias by is expanded", func(t *testing.T) { t.Run("and alias by is expanded", func(t *testing.T) {
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
query := &cloudMonitoringTimeSeriesFilter{ query := &cloudMonitoringTimeSeriesFilter{
Params: url.Values{}, Params: url.Values{},
@ -878,6 +882,7 @@ func TestCloudMonitoring(t *testing.T) {
assert.Equal(t, 1, len(data.TimeSeries)) assert.Equal(t, 1, len(data.TimeSeries))
t.Run("and alias by is expanded", func(t *testing.T) { t.Run("and alias by is expanded", func(t *testing.T) {
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
query := &cloudMonitoringTimeSeriesFilter{ query := &cloudMonitoringTimeSeriesFilter{
Params: url.Values{}, Params: url.Values{},
@ -899,7 +904,7 @@ func TestCloudMonitoring(t *testing.T) {
data, err := loadTestFile("./test-data/1-series-response-agg-one-metric.json") data, err := loadTestFile("./test-data/1-series-response-agg-one-metric.json")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, 1, len(data.TimeSeries)) assert.Equal(t, 1, len(data.TimeSeries))
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}} query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}}
err = query.parseResponse(res, data, "") err = query.parseResponse(res, data, "")
@ -913,7 +918,7 @@ func TestCloudMonitoring(t *testing.T) {
data, err := loadTestFile("./test-data/2-series-response-no-agg.json") data, err := loadTestFile("./test-data/2-series-response-no-agg.json")
require.NoError(t, err) require.NoError(t, err)
assert.Equal(t, 3, len(data.TimeSeries)) assert.Equal(t, 3, len(data.TimeSeries))
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}} query := &cloudMonitoringTimeSeriesFilter{Params: url.Values{}}
err = query.parseResponse(res, data, "") err = query.parseResponse(res, data, "")
@ -932,6 +937,7 @@ func TestCloudMonitoring(t *testing.T) {
t.Run("and alias by is expanded", func(t *testing.T) { t.Run("and alias by is expanded", func(t *testing.T) {
fromStart := time.Date(2018, 3, 15, 13, 0, 0, 0, time.UTC).In(time.Local) fromStart := time.Date(2018, 3, 15, 13, 0, 0, 0, time.UTC).In(time.Local)
//nolint: staticcheck // plugins.DataPlugin deprecated
res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"} res := &plugins.DataQueryResult{Meta: simplejson.New(), RefID: "A"}
query := &cloudMonitoringTimeSeriesQuery{ query := &cloudMonitoringTimeSeriesQuery{
ProjectName: "test-proj", ProjectName: "test-proj",

View File

@ -17,6 +17,7 @@ import (
"golang.org/x/net/context/ctxhttp" "golang.org/x/net/context/ctxhttp"
) )
//nolint: staticcheck // plugins.DataPlugin deprecated
func (timeSeriesFilter *cloudMonitoringTimeSeriesFilter) run(ctx context.Context, tsdbQuery plugins.DataQuery, func (timeSeriesFilter *cloudMonitoringTimeSeriesFilter) run(ctx context.Context, tsdbQuery plugins.DataQuery,
e *Executor) (plugins.DataQueryResult, cloudMonitoringResponse, string, error) { e *Executor) (plugins.DataQueryResult, cloudMonitoringResponse, string, error) {
queryResult := plugins.DataQueryResult{Meta: simplejson.New(), RefID: timeSeriesFilter.RefID} queryResult := plugins.DataQueryResult{Meta: simplejson.New(), RefID: timeSeriesFilter.RefID}
@ -79,6 +80,7 @@ func (timeSeriesFilter *cloudMonitoringTimeSeriesFilter) run(ctx context.Context
return queryResult, data, req.URL.RawQuery, nil return queryResult, data, req.URL.RawQuery, nil
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (timeSeriesFilter *cloudMonitoringTimeSeriesFilter) parseResponse(queryRes *plugins.DataQueryResult, func (timeSeriesFilter *cloudMonitoringTimeSeriesFilter) parseResponse(queryRes *plugins.DataQueryResult,
response cloudMonitoringResponse, executedQueryString string) error { response cloudMonitoringResponse, executedQueryString string) error {
labels := make(map[string]map[string]bool) labels := make(map[string]map[string]bool)
@ -241,6 +243,7 @@ func (timeSeriesFilter *cloudMonitoringTimeSeriesFilter) parseResponse(queryRes
return nil return nil
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (timeSeriesFilter *cloudMonitoringTimeSeriesFilter) handleNonDistributionSeries(series timeSeries, func (timeSeriesFilter *cloudMonitoringTimeSeriesFilter) handleNonDistributionSeries(series timeSeries,
defaultMetricName string, seriesLabels map[string]string, queryRes *plugins.DataQueryResult, defaultMetricName string, seriesLabels map[string]string, queryRes *plugins.DataQueryResult,
frame *data.Frame) { frame *data.Frame) {
@ -272,6 +275,7 @@ func (timeSeriesFilter *cloudMonitoringTimeSeriesFilter) handleNonDistributionSe
setDisplayNameAsFieldName(dataField) setDisplayNameAsFieldName(dataField)
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (timeSeriesFilter *cloudMonitoringTimeSeriesFilter) parseToAnnotations(queryRes *plugins.DataQueryResult, func (timeSeriesFilter *cloudMonitoringTimeSeriesFilter) parseToAnnotations(queryRes *plugins.DataQueryResult,
response cloudMonitoringResponse, title string, text string, tags string) error { response cloudMonitoringResponse, title string, text string, tags string) error {
frames := data.Frames{} frames := data.Frames{}

View File

@ -19,6 +19,7 @@ import (
"golang.org/x/net/context/ctxhttp" "golang.org/x/net/context/ctxhttp"
) )
//nolint: staticcheck // plugins.DataPlugin deprecated
func (timeSeriesQuery cloudMonitoringTimeSeriesQuery) run(ctx context.Context, tsdbQuery plugins.DataQuery, func (timeSeriesQuery cloudMonitoringTimeSeriesQuery) run(ctx context.Context, tsdbQuery plugins.DataQuery,
e *Executor) (plugins.DataQueryResult, cloudMonitoringResponse, string, error) { e *Executor) (plugins.DataQueryResult, cloudMonitoringResponse, string, error) {
queryResult := plugins.DataQueryResult{Meta: simplejson.New(), RefID: timeSeriesQuery.RefID} queryResult := plugins.DataQueryResult{Meta: simplejson.New(), RefID: timeSeriesQuery.RefID}
@ -94,6 +95,7 @@ func (timeSeriesQuery cloudMonitoringTimeSeriesQuery) run(ctx context.Context, t
return queryResult, data, timeSeriesQuery.Query, nil return queryResult, data, timeSeriesQuery.Query, nil
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (timeSeriesQuery cloudMonitoringTimeSeriesQuery) parseResponse(queryRes *plugins.DataQueryResult, func (timeSeriesQuery cloudMonitoringTimeSeriesQuery) parseResponse(queryRes *plugins.DataQueryResult,
response cloudMonitoringResponse, executedQueryString string) error { response cloudMonitoringResponse, executedQueryString string) error {
labels := make(map[string]map[string]bool) labels := make(map[string]map[string]bool)
@ -264,6 +266,7 @@ func (timeSeriesQuery cloudMonitoringTimeSeriesQuery) parseResponse(queryRes *pl
return nil return nil
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (timeSeriesQuery cloudMonitoringTimeSeriesQuery) parseToAnnotations(queryRes *plugins.DataQueryResult, func (timeSeriesQuery cloudMonitoringTimeSeriesQuery) parseToAnnotations(queryRes *plugins.DataQueryResult,
data cloudMonitoringResponse, title string, text string, tags string) error { data cloudMonitoringResponse, title string, text string, tags string) error {
annotations := make([]map[string]string, 0) annotations := make([]map[string]string, 0)

View File

@ -10,9 +10,12 @@ import (
type ( type (
cloudMonitoringQueryExecutor interface { cloudMonitoringQueryExecutor interface {
//nolint: staticcheck // plugins.DataPlugin deprecated
run(ctx context.Context, tsdbQuery plugins.DataQuery, e *Executor) ( run(ctx context.Context, tsdbQuery plugins.DataQuery, e *Executor) (
plugins.DataQueryResult, cloudMonitoringResponse, string, error) plugins.DataQueryResult, cloudMonitoringResponse, string, error)
//nolint: staticcheck // plugins.DataPlugin deprecated
parseResponse(queryRes *plugins.DataQueryResult, data cloudMonitoringResponse, executedQueryString string) error parseResponse(queryRes *plugins.DataQueryResult, data cloudMonitoringResponse, executedQueryString string) error
//nolint: staticcheck // plugins.DataPlugin deprecated
parseToAnnotations(queryRes *plugins.DataQueryResult, data cloudMonitoringResponse, title string, text string, tags string) error parseToAnnotations(queryRes *plugins.DataQueryResult, data cloudMonitoringResponse, title string, text string, tags string) error
buildDeepLink() string buildDeepLink() string
getRefID() string getRefID() string

View File

@ -108,6 +108,7 @@ func (r *logQueryRunner) publishResults(channelName string) error {
// executeLiveLogQuery executes a CloudWatch Logs query with live updates over WebSocket. // executeLiveLogQuery executes a CloudWatch Logs query with live updates over WebSocket.
// A WebSocket channel is created, which goroutines send responses over. // A WebSocket channel is created, which goroutines send responses over.
//nolint: staticcheck // plugins.DataResponse deprecated
func (e *cloudWatchExecutor) executeLiveLogQuery(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error) { func (e *cloudWatchExecutor) executeLiveLogQuery(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error) {
responseChannelName := uuid.New().String() responseChannelName := uuid.New().String()
responseChannel := make(chan plugins.DataResponse) responseChannel := make(chan plugins.DataResponse)
@ -133,6 +134,7 @@ func (e *cloudWatchExecutor) executeLiveLogQuery(ctx context.Context, req *backe
return response, nil return response, nil
} }
//nolint: staticcheck // plugins.DataResponse deprecated
func (e *cloudWatchExecutor) sendLiveQueriesToChannel(req *backend.QueryDataRequest, responseChannel chan plugins.DataResponse) { func (e *cloudWatchExecutor) sendLiveQueriesToChannel(req *backend.QueryDataRequest, responseChannel chan plugins.DataResponse) {
defer close(responseChannel) defer close(responseChannel)
@ -210,6 +212,7 @@ func (e *cloudWatchExecutor) fetchConcurrentQueriesQuota(region string, pluginCt
return defaultConcurrentQueries return defaultConcurrentQueries
} }
//nolint: staticcheck // plugins.DataResponse deprecated
func (e *cloudWatchExecutor) startLiveQuery(ctx context.Context, responseChannel chan plugins.DataResponse, query backend.DataQuery, timeRange backend.TimeRange, pluginCtx backend.PluginContext) error { func (e *cloudWatchExecutor) startLiveQuery(ctx context.Context, responseChannel chan plugins.DataResponse, query backend.DataQuery, timeRange backend.TimeRange, pluginCtx backend.PluginContext) error {
model, err := simplejson.NewJson(query.JSON) model, err := simplejson.NewJson(query.JSON)
if err != nil { if err != nil {

View File

@ -14,7 +14,8 @@ func init() {
// LogsService provides methods for querying CloudWatch Logs. // LogsService provides methods for querying CloudWatch Logs.
type LogsService struct { type LogsService struct {
channelMu sync.Mutex channelMu sync.Mutex
// nolint:staticcheck // plugins.DataQueryResult deprecated
responseChannels map[string]chan plugins.DataResponse responseChannels map[string]chan plugins.DataResponse
queues map[string](chan bool) queues map[string](chan bool)
queueLock sync.Mutex queueLock sync.Mutex
@ -22,11 +23,13 @@ type LogsService struct {
// Init is called by the DI framework to initialize the instance. // Init is called by the DI framework to initialize the instance.
func (s *LogsService) Init() error { func (s *LogsService) Init() error {
// nolint:staticcheck // plugins.DataQueryResult deprecated
s.responseChannels = make(map[string]chan plugins.DataResponse) s.responseChannels = make(map[string]chan plugins.DataResponse)
s.queues = make(map[string](chan bool)) s.queues = make(map[string](chan bool))
return nil return nil
} }
// nolint:staticcheck // plugins.DataQueryResult deprecated
func (s *LogsService) AddResponseChannel(name string, channel chan plugins.DataResponse) error { func (s *LogsService) AddResponseChannel(name string, channel chan plugins.DataResponse) error {
s.channelMu.Lock() s.channelMu.Lock()
defer s.channelMu.Unlock() defer s.channelMu.Unlock()
@ -39,6 +42,7 @@ func (s *LogsService) AddResponseChannel(name string, channel chan plugins.DataR
return nil return nil
} }
// nolint:staticcheck // plugins.DataQueryResult deprecated
func (s *LogsService) GetResponseChannel(name string) (chan plugins.DataResponse, error) { func (s *LogsService) GetResponseChannel(name string) (chan plugins.DataResponse, error) {
s.channelMu.Lock() s.channelMu.Lock()
defer s.channelMu.Unlock() defer s.channelMu.Unlock()

View File

@ -16,6 +16,7 @@ type Executor struct {
} }
// NewExecutor creates a new Executor. // NewExecutor creates a new Executor.
//nolint: staticcheck // plugins.DataPlugin deprecated
func NewExecutor(*models.DataSource) (plugins.DataPlugin, error) { func NewExecutor(*models.DataSource) (plugins.DataPlugin, error) {
return &Executor{ return &Executor{
intervalCalculator: interval.NewCalculator(), intervalCalculator: interval.NewCalculator(),
@ -23,6 +24,7 @@ func NewExecutor(*models.DataSource) (plugins.DataPlugin, error) {
} }
// Query handles an elasticsearch datasource request // Query handles an elasticsearch datasource request
//nolint: staticcheck // plugins.DataResponse deprecated
func (e *Executor) DataQuery(ctx context.Context, dsInfo *models.DataSource, func (e *Executor) DataQuery(ctx context.Context, dsInfo *models.DataSource,
tsdbQuery plugins.DataQuery) (plugins.DataResponse, error) { tsdbQuery plugins.DataQuery) (plugins.DataResponse, error) {
if len(tsdbQuery.Queries) == 0 { if len(tsdbQuery.Queries) == 0 {

View File

@ -40,6 +40,7 @@ var newResponseParser = func(responses []*es.SearchResponse, targets []*Query, d
} }
} }
// nolint:staticcheck // plugins.DataResponse deprecated
func (rp *responseParser) getTimeSeries() (plugins.DataResponse, error) { func (rp *responseParser) getTimeSeries() (plugins.DataResponse, error) {
result := plugins.DataResponse{ result := plugins.DataResponse{
Results: make(map[string]plugins.DataQueryResult), Results: make(map[string]plugins.DataQueryResult),
@ -87,6 +88,7 @@ func (rp *responseParser) getTimeSeries() (plugins.DataResponse, error) {
return result, nil return result, nil
} }
// nolint:staticcheck // plugins.* deprecated
func (rp *responseParser) processBuckets(aggs map[string]interface{}, target *Query, func (rp *responseParser) processBuckets(aggs map[string]interface{}, target *Query,
series *plugins.DataTimeSeriesSlice, table *plugins.DataTable, props map[string]string, depth int) error { series *plugins.DataTimeSeriesSlice, table *plugins.DataTable, props map[string]string, depth int) error {
var err error var err error
@ -165,6 +167,7 @@ func (rp *responseParser) processBuckets(aggs map[string]interface{}, target *Qu
return nil return nil
} }
// nolint:staticcheck // plugins.* deprecated
func (rp *responseParser) processMetrics(esAgg *simplejson.Json, target *Query, series *plugins.DataTimeSeriesSlice, func (rp *responseParser) processMetrics(esAgg *simplejson.Json, target *Query, series *plugins.DataTimeSeriesSlice,
props map[string]string) error { props map[string]string) error {
for _, metric := range target.Metrics { for _, metric := range target.Metrics {
@ -294,6 +297,7 @@ func (rp *responseParser) processMetrics(esAgg *simplejson.Json, target *Query,
return nil return nil
} }
// nolint:staticcheck // plugins.* deprecated
func (rp *responseParser) processAggregationDocs(esAgg *simplejson.Json, aggDef *BucketAgg, target *Query, func (rp *responseParser) processAggregationDocs(esAgg *simplejson.Json, aggDef *BucketAgg, target *Query,
table *plugins.DataTable, props map[string]string) error { table *plugins.DataTable, props map[string]string) error {
propKeys := make([]string, 0) propKeys := make([]string, 0)
@ -437,6 +441,7 @@ func (rp *responseParser) nameSeries(seriesList plugins.DataTimeSeriesSlice, tar
var aliasPatternRegex = regexp.MustCompile(`\{\{([\s\S]+?)\}\}`) var aliasPatternRegex = regexp.MustCompile(`\{\{([\s\S]+?)\}\}`)
// nolint:staticcheck // plugins.* deprecated
func (rp *responseParser) getSeriesName(series plugins.DataTimeSeries, target *Query, metricTypeCount int) string { func (rp *responseParser) getSeriesName(series plugins.DataTimeSeries, target *Query, metricTypeCount int) string {
metricType := series.Tags["metric"] metricType := series.Tags["metric"]
metricName := rp.getMetricName(metricType) metricName := rp.getMetricName(metricType)
@ -569,6 +574,7 @@ func findAgg(target *Query, aggID string) (*BucketAgg, error) {
return nil, errors.New("can't found aggDef, aggID:" + aggID) return nil, errors.New("can't found aggDef, aggID:" + aggID)
} }
// nolint:staticcheck // plugins.DataQueryResult deprecated
func getErrorFromElasticResponse(response *es.SearchResponse) plugins.DataQueryResult { func getErrorFromElasticResponse(response *es.SearchResponse) plugins.DataQueryResult {
var result plugins.DataQueryResult var result plugins.DataQueryResult
json := simplejson.NewFromAny(response.Error) json := simplejson.NewFromAny(response.Error)

View File

@ -26,6 +26,7 @@ var newTimeSeriesQuery = func(client es.Client, dataQuery plugins.DataQuery,
} }
} }
// nolint:staticcheck // plugins.DataQueryResult deprecated
func (e *timeSeriesQuery) execute() (plugins.DataResponse, error) { func (e *timeSeriesQuery) execute() (plugins.DataResponse, error) {
tsQueryParser := newTimeSeriesQueryParser() tsQueryParser := newTimeSeriesQueryParser()
queries, err := tsQueryParser.parse(e.tsdbQuery) queries, err := tsQueryParser.parse(e.tsdbQuery)
@ -60,6 +61,7 @@ func (e *timeSeriesQuery) execute() (plugins.DataResponse, error) {
return rp.getTimeSeries() return rp.getTimeSeries()
} }
// nolint:staticcheck // plugins.DataQueryResult deprecated
func (e *timeSeriesQuery) processQuery(q *Query, ms *es.MultiSearchRequestBuilder, from, to string, func (e *timeSeriesQuery) processQuery(q *Query, ms *es.MultiSearchRequestBuilder, from, to string,
result plugins.DataResponse) error { result plugins.DataResponse) error {
minInterval, err := e.client.GetMinInterval(q.Interval) minInterval, err := e.client.GetMinInterval(q.Interval)

View File

@ -912,6 +912,7 @@ func newDataQuery(body string) (plugins.DataQuery, error) {
}, nil }, nil
} }
// nolint:staticcheck // plugins.DataQueryResult deprecated
func executeTsdbQuery(c es.Client, body string, from, to time.Time, minInterval time.Duration) ( func executeTsdbQuery(c es.Client, body string, from, to time.Time, minInterval time.Duration) (
plugins.DataResponse, error) { plugins.DataResponse, error) {
json, err := simplejson.NewJson([]byte(body)) json, err := simplejson.NewJson([]byte(body))

View File

@ -26,12 +26,14 @@ type GraphiteExecutor struct {
HttpClient *http.Client HttpClient *http.Client
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func NewExecutor(*models.DataSource) (plugins.DataPlugin, error) { func NewExecutor(*models.DataSource) (plugins.DataPlugin, error) {
return &GraphiteExecutor{}, nil return &GraphiteExecutor{}, nil
} }
var glog = log.New("tsdb.graphite") var glog = log.New("tsdb.graphite")
//nolint: staticcheck // plugins.DataQuery deprecated
func (e *GraphiteExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource, tsdbQuery plugins.DataQuery) ( func (e *GraphiteExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource, tsdbQuery plugins.DataQuery) (
plugins.DataResponse, error) { plugins.DataResponse, error) {
// This logic is used when called from Dashboard Alerting. // This logic is used when called from Dashboard Alerting.

View File

@ -21,6 +21,7 @@ func init() {
} }
// Query builds flux queries, executes them, and returns the results. // Query builds flux queries, executes them, and returns the results.
//nolint: staticcheck // plugins.DataQuery deprecated
func Query(ctx context.Context, dsInfo *models.DataSource, tsdbQuery plugins.DataQuery) ( func Query(ctx context.Context, dsInfo *models.DataSource, tsdbQuery plugins.DataQuery) (
plugins.DataResponse, error) { plugins.DataResponse, error) {
glog.Debug("Received a query", "query", tsdbQuery) glog.Debug("Received a query", "query", tsdbQuery)
@ -98,6 +99,7 @@ func runnerFromDataSource(dsInfo *models.DataSource) (*runner, error) {
// backendDataResponseToDataResponse takes the SDK's style response and changes it into a // backendDataResponseToDataResponse takes the SDK's style response and changes it into a
// plugins.DataQueryResult. This is a wrapper so less of existing code needs to be changed. This should // plugins.DataQueryResult. This is a wrapper so less of existing code needs to be changed. This should
// be able to be removed in the near future https://github.com/grafana/grafana/pull/25472. // be able to be removed in the near future https://github.com/grafana/grafana/pull/25472.
//nolint: staticcheck // plugins.DataQueryResult deprecated
func backendDataResponseToDataResponse(dr *backend.DataResponse, refID string) plugins.DataQueryResult { func backendDataResponseToDataResponse(dr *backend.DataResponse, refID string) plugins.DataQueryResult {
qr := plugins.DataQueryResult{ qr := plugins.DataQueryResult{
RefID: refID, RefID: refID,

View File

@ -22,6 +22,7 @@ type Executor struct {
ResponseParser *ResponseParser ResponseParser *ResponseParser
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func NewExecutor(*models.DataSource) (plugins.DataPlugin, error) { func NewExecutor(*models.DataSource) (plugins.DataPlugin, error) {
return &Executor{ return &Executor{
QueryParser: &InfluxdbQueryParser{}, QueryParser: &InfluxdbQueryParser{},
@ -39,6 +40,7 @@ func init() {
glog = log.New("tsdb.influxdb") glog = log.New("tsdb.influxdb")
} }
//nolint: staticcheck // plugins.DataResponse deprecated
func (e *Executor) DataQuery(ctx context.Context, dsInfo *models.DataSource, tsdbQuery plugins.DataQuery) ( func (e *Executor) DataQuery(ctx context.Context, dsInfo *models.DataSource, tsdbQuery plugins.DataQuery) (
plugins.DataResponse, error) { plugins.DataResponse, error) {
glog.Debug("Received a query request", "numQueries", len(tsdbQuery.Queries)) glog.Debug("Received a query request", "numQueries", len(tsdbQuery.Queries))

View File

@ -23,6 +23,7 @@ func init() {
legendFormat = regexp.MustCompile(`\[\[([\@\/\w-]+)(\.[\@\/\w-]+)*\]\]*|\$\s*([\@\/\w-]+?)*`) legendFormat = regexp.MustCompile(`\[\[([\@\/\w-]+)(\.[\@\/\w-]+)*\]\]*|\$\s*([\@\/\w-]+?)*`)
} }
// nolint:staticcheck // plugins.DataQueryResult deprecated
func (rp *ResponseParser) Parse(buf io.ReadCloser, query *Query) plugins.DataQueryResult { func (rp *ResponseParser) Parse(buf io.ReadCloser, query *Query) plugins.DataQueryResult {
var queryRes plugins.DataQueryResult var queryRes plugins.DataQueryResult

View File

@ -17,12 +17,14 @@ func prepare(text string) io.ReadCloser {
return ioutil.NopCloser(strings.NewReader(text)) return ioutil.NopCloser(strings.NewReader(text))
} }
// nolint:staticcheck // plugins.DataQueryResult deprecated
func decodedFrames(t *testing.T, result plugins.DataQueryResult) data.Frames { func decodedFrames(t *testing.T, result plugins.DataQueryResult) data.Frames {
decoded, err := result.Dataframes.Decoded() decoded, err := result.Dataframes.Decoded()
require.NoError(t, err) require.NoError(t, err)
return decoded return decoded
} }
// nolint:staticcheck // plugins.DataQueryResult deprecated
func assertSeriesName(t *testing.T, result plugins.DataQueryResult, index int, name string) { func assertSeriesName(t *testing.T, result plugins.DataQueryResult, index int, name string) {
decoded := decodedFrames(t, result) decoded := decodedFrames(t, result)

View File

@ -24,6 +24,7 @@ type LokiExecutor struct {
intervalCalculator interval.Calculator intervalCalculator interval.Calculator
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func NewExecutor(dsInfo *models.DataSource) (plugins.DataPlugin, error) { func NewExecutor(dsInfo *models.DataSource) (plugins.DataPlugin, error) {
return newExecutor(), nil return newExecutor(), nil
} }
@ -40,6 +41,7 @@ var (
) )
// DataQuery executes a Loki query. // DataQuery executes a Loki query.
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *LokiExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource, func (e *LokiExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource,
queryContext plugins.DataQuery) (plugins.DataResponse, error) { queryContext plugins.DataQuery) (plugins.DataResponse, error) {
result := plugins.DataResponse{ result := plugins.DataResponse{
@ -153,6 +155,7 @@ func (e *LokiExecutor) parseQuery(dsInfo *models.DataSource, queryContext plugin
return qs, nil return qs, nil
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func parseResponse(value *loghttp.QueryResponse, query *lokiQuery) (plugins.DataQueryResult, error) { func parseResponse(value *loghttp.QueryResponse, query *lokiQuery) (plugins.DataQueryResult, error) {
var queryRes plugins.DataQueryResult var queryRes plugins.DataQueryResult
frames := data.Frames{} frames := data.Frames{}

View File

@ -98,6 +98,7 @@ func TestLoki(t *testing.T) {
func TestParseResponse(t *testing.T) { func TestParseResponse(t *testing.T) {
t.Run("value is not of type matrix", func(t *testing.T) { t.Run("value is not of type matrix", func(t *testing.T) {
//nolint: staticcheck // plugins.DataPlugin deprecated
queryRes := plugins.DataQueryResult{} queryRes := plugins.DataQueryResult{}
value := loghttp.QueryResponse{ value := loghttp.QueryResponse{

View File

@ -21,6 +21,7 @@ import (
var logger = log.New("tsdb.mssql") var logger = log.New("tsdb.mssql")
//nolint: staticcheck // plugins.DataPlugin deprecated
func NewExecutor(datasource *models.DataSource) (plugins.DataPlugin, error) { func NewExecutor(datasource *models.DataSource) (plugins.DataPlugin, error) {
cnnstr, err := generateConnectionString(datasource) cnnstr, err := generateConnectionString(datasource)
if err != nil { if err != nil {

View File

@ -24,6 +24,7 @@ func characterEscape(s string, escapeChar string) string {
return strings.ReplaceAll(s, escapeChar, url.QueryEscape(escapeChar)) return strings.ReplaceAll(s, escapeChar, url.QueryEscape(escapeChar))
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func NewExecutor(datasource *models.DataSource) (plugins.DataPlugin, error) { func NewExecutor(datasource *models.DataSource) (plugins.DataPlugin, error) {
logger := log.New("tsdb.mysql") logger := log.New("tsdb.mysql")

View File

@ -24,6 +24,7 @@ import (
type OpenTsdbExecutor struct { type OpenTsdbExecutor struct {
} }
// nolint:staticcheck // plugins.DataQueryResult deprecated
func NewExecutor(*models.DataSource) (plugins.DataPlugin, error) { func NewExecutor(*models.DataSource) (plugins.DataPlugin, error) {
return &OpenTsdbExecutor{}, nil return &OpenTsdbExecutor{}, nil
} }
@ -32,6 +33,7 @@ var (
plog = log.New("tsdb.opentsdb") plog = log.New("tsdb.opentsdb")
) )
// nolint:staticcheck // plugins.DataQueryResult deprecated
func (e *OpenTsdbExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource, func (e *OpenTsdbExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource,
queryContext plugins.DataQuery) (plugins.DataResponse, error) { queryContext plugins.DataQuery) (plugins.DataResponse, error) {
var tsdbQuery OpenTsdbQuery var tsdbQuery OpenTsdbQuery
@ -101,6 +103,7 @@ func (e *OpenTsdbExecutor) createRequest(dsInfo *models.DataSource, data OpenTsd
return req, nil return req, nil
} }
// nolint:staticcheck // plugins.DataQueryResult deprecated
func (e *OpenTsdbExecutor) parseResponse(query OpenTsdbQuery, res *http.Response) (map[string]plugins.DataQueryResult, error) { func (e *OpenTsdbExecutor) parseResponse(query OpenTsdbQuery, res *http.Response) (map[string]plugins.DataQueryResult, error) {
queryResults := make(map[string]plugins.DataQueryResult) queryResults := make(map[string]plugins.DataQueryResult)
queryRes := plugins.DataQueryResult{} queryRes := plugins.DataQueryResult{}

View File

@ -37,6 +37,7 @@ func (s *PostgresService) Init() error {
return nil return nil
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (s *PostgresService) NewExecutor(datasource *models.DataSource) (plugins.DataPlugin, error) { func (s *PostgresService) NewExecutor(datasource *models.DataSource) (plugins.DataPlugin, error) {
s.logger.Debug("Creating Postgres query endpoint") s.logger.Debug("Creating Postgres query endpoint")

View File

@ -40,6 +40,7 @@ func (bat basicAuthTransport) RoundTrip(req *http.Request) (*http.Response, erro
return bat.Transport.RoundTrip(req) return bat.Transport.RoundTrip(req)
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func NewExecutor(dsInfo *models.DataSource) (plugins.DataPlugin, error) { func NewExecutor(dsInfo *models.DataSource) (plugins.DataPlugin, error) {
transport, err := dsInfo.GetHttpTransport() transport, err := dsInfo.GetHttpTransport()
if err != nil { if err != nil {
@ -83,6 +84,7 @@ func (e *PrometheusExecutor) getClient(dsInfo *models.DataSource) (apiv1.API, er
return apiv1.NewAPI(client), nil return apiv1.NewAPI(client), nil
} }
//nolint: staticcheck // plugins.DataResponse deprecated
func (e *PrometheusExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource, func (e *PrometheusExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource,
tsdbQuery plugins.DataQuery) (plugins.DataResponse, error) { tsdbQuery plugins.DataQuery) (plugins.DataResponse, error) {
result := plugins.DataResponse{ result := plugins.DataResponse{
@ -191,6 +193,7 @@ func (e *PrometheusExecutor) parseQuery(dsInfo *models.DataSource, query plugins
return qs, nil return qs, nil
} }
//nolint: staticcheck // plugins.DataQueryResult deprecated
func parseResponse(value model.Value, query *PrometheusQuery) (plugins.DataQueryResult, error) { func parseResponse(value model.Value, query *PrometheusQuery) (plugins.DataQueryResult, error) {
var queryRes plugins.DataQueryResult var queryRes plugins.DataQueryResult
frames := data.Frames{} frames := data.Frames{}

View File

@ -145,6 +145,7 @@ func TestPrometheus(t *testing.T) {
func TestParseResponse(t *testing.T) { func TestParseResponse(t *testing.T) {
t.Run("value is not of type matrix", func(t *testing.T) { t.Run("value is not of type matrix", func(t *testing.T) {
//nolint: staticcheck // plugins.DataQueryResult deprecated
queryRes := plugins.DataQueryResult{} queryRes := plugins.DataQueryResult{}
value := p.Vector{} value := p.Vector{}
res, err := parseResponse(value, nil) res, err := parseResponse(value, nil)

View File

@ -61,13 +61,16 @@ func TestHandleRequest(t *testing.T) {
}) })
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
type resultsFn func(context plugins.DataQuery) plugins.DataQueryResult type resultsFn func(context plugins.DataQuery) plugins.DataQueryResult
type fakeExecutor struct { type fakeExecutor struct {
//nolint: staticcheck // plugins.DataPlugin deprecated
results map[string]plugins.DataQueryResult results map[string]plugins.DataQueryResult
resultsFn map[string]resultsFn resultsFn map[string]resultsFn
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *fakeExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource, context plugins.DataQuery) ( func (e *fakeExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource, context plugins.DataQuery) (
plugins.DataResponse, error) { plugins.DataResponse, error) {
result := plugins.DataResponse{Results: make(map[string]plugins.DataQueryResult)} result := plugins.DataResponse{Results: make(map[string]plugins.DataQueryResult)}
@ -84,6 +87,7 @@ func (e *fakeExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource,
} }
func (e *fakeExecutor) Return(refID string, series plugins.DataTimeSeriesSlice) { func (e *fakeExecutor) Return(refID string, series plugins.DataTimeSeriesSlice) {
//nolint: staticcheck // plugins.DataPlugin deprecated
e.results[refID] = plugins.DataQueryResult{ e.results[refID] = plugins.DataQueryResult{
RefID: refID, Series: series, RefID: refID, Series: series,
} }
@ -107,9 +111,11 @@ func createService() (Service, *fakeExecutor) {
BackendPluginManager: fakeBackendPM{}, BackendPluginManager: fakeBackendPM{},
} }
e := &fakeExecutor{ e := &fakeExecutor{
//nolint: staticcheck // plugins.DataPlugin deprecated
results: make(map[string]plugins.DataQueryResult), results: make(map[string]plugins.DataQueryResult),
resultsFn: make(map[string]resultsFn), resultsFn: make(map[string]resultsFn),
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
s.registry["test"] = func(*models.DataSource) (plugins.DataPlugin, error) { s.registry["test"] = func(*models.DataSource) (plugins.DataPlugin, error) {
return e, nil return e, nil
} }

View File

@ -26,6 +26,7 @@ import (
// NewService returns a new Service. // NewService returns a new Service.
func NewService() Service { func NewService() Service {
return Service{ return Service{
//nolint: staticcheck // plugins.DataPlugin deprecated
registry: map[string]func(*models.DataSource) (plugins.DataPlugin, error){}, registry: map[string]func(*models.DataSource) (plugins.DataPlugin, error){},
} }
} }
@ -47,6 +48,7 @@ type Service struct {
AzureMonitorService *azuremonitor.Service `inject:""` AzureMonitorService *azuremonitor.Service `inject:""`
PluginManager plugins.Manager `inject:""` PluginManager plugins.Manager `inject:""`
//nolint: staticcheck // plugins.DataPlugin deprecated
registry map[string]func(*models.DataSource) (plugins.DataPlugin, error) registry map[string]func(*models.DataSource) (plugins.DataPlugin, error)
} }
@ -67,6 +69,7 @@ func (s *Service) Init() error {
return nil return nil
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (s *Service) HandleRequest(ctx context.Context, ds *models.DataSource, query plugins.DataQuery) ( func (s *Service) HandleRequest(ctx context.Context, ds *models.DataSource, query plugins.DataQuery) (
plugins.DataResponse, error) { plugins.DataResponse, error) {
plugin := s.PluginManager.GetDataPlugin(ds.Type) plugin := s.PluginManager.GetDataPlugin(ds.Type)
@ -90,6 +93,7 @@ func (s *Service) HandleRequest(ctx context.Context, ds *models.DataSource, quer
// RegisterQueryHandler registers a query handler factory. // RegisterQueryHandler registers a query handler factory.
// This is only exposed for tests! // This is only exposed for tests!
//nolint: staticcheck // plugins.DataPlugin deprecated
func (s *Service) RegisterQueryHandler(name string, factory func(*models.DataSource) (plugins.DataPlugin, error)) { func (s *Service) RegisterQueryHandler(name string, factory func(*models.DataSource) (plugins.DataPlugin, error)) {
s.registry[name] = factory s.registry[name] = factory
} }

View File

@ -86,6 +86,7 @@ type DataPluginConfiguration struct {
} }
// NewDataPlugin returns a new plugins.DataPlugin // NewDataPlugin returns a new plugins.DataPlugin
//nolint: staticcheck // plugins.DataPlugin deprecated
func NewDataPlugin(config DataPluginConfiguration, queryResultTransformer SqlQueryResultTransformer, func NewDataPlugin(config DataPluginConfiguration, queryResultTransformer SqlQueryResultTransformer,
macroEngine SQLMacroEngine, log log.Logger) (plugins.DataPlugin, error) { macroEngine SQLMacroEngine, log log.Logger) (plugins.DataPlugin, error) {
plugin := dataPlugin{ plugin := dataPlugin{
@ -135,6 +136,7 @@ func NewDataPlugin(config DataPluginConfiguration, queryResultTransformer SqlQue
const rowLimit = 1000000 const rowLimit = 1000000
// Query is the main function for the SqlQueryEndpoint // Query is the main function for the SqlQueryEndpoint
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *dataPlugin) DataQuery(ctx context.Context, dsInfo *models.DataSource, func (e *dataPlugin) DataQuery(ctx context.Context, dsInfo *models.DataSource,
queryContext plugins.DataQuery) (plugins.DataResponse, error) { queryContext plugins.DataQuery) (plugins.DataResponse, error) {
var timeRange plugins.DataTimeRange var timeRange plugins.DataTimeRange
@ -251,6 +253,7 @@ var Interpolate = func(query plugins.DataSubQuery, timeRange plugins.DataTimeRan
return sql, nil return sql, nil
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *dataPlugin) transformToTable(query plugins.DataSubQuery, rows *core.Rows, func (e *dataPlugin) transformToTable(query plugins.DataSubQuery, rows *core.Rows,
result *plugins.DataQueryResult, queryContext plugins.DataQuery) error { result *plugins.DataQueryResult, queryContext plugins.DataQuery) error {
columnNames, err := rows.Columns() columnNames, err := rows.Columns()
@ -341,6 +344,7 @@ func newProcessCfg(query plugins.DataSubQuery, queryContext plugins.DataQuery, r
return cfg, nil return cfg, nil
} }
//nolint: staticcheck // plugins.DataPlugin deprecated
func (e *dataPlugin) transformToTimeSeries(query plugins.DataSubQuery, rows *core.Rows, func (e *dataPlugin) transformToTimeSeries(query plugins.DataSubQuery, rows *core.Rows,
result *plugins.DataQueryResult, queryContext plugins.DataQuery) error { result *plugins.DataQueryResult, queryContext plugins.DataQuery) error {
cfg, err := newProcessCfg(query, queryContext, rows) cfg, err := newProcessCfg(query, queryContext, rows)

View File

@ -18,7 +18,8 @@ type tempoExecutor struct {
httpClient *http.Client httpClient *http.Client
} }
// NewExecutor returns a tempoExecutor. // NewExecutor returns a tempoExecutor.DataQueryResult
//nolint: staticcheck // plugins.DataPlugin deprecated
func NewExecutor(dsInfo *models.DataSource) (plugins.DataPlugin, error) { func NewExecutor(dsInfo *models.DataSource) (plugins.DataPlugin, error) {
httpClient, err := dsInfo.GetHttpClient() httpClient, err := dsInfo.GetHttpClient()
if err != nil { if err != nil {
@ -34,6 +35,7 @@ var (
tlog = log.New("tsdb.tempo") tlog = log.New("tsdb.tempo")
) )
//nolint: staticcheck // plugins.DataQuery deprecated
func (e *tempoExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource, func (e *tempoExecutor) DataQuery(ctx context.Context, dsInfo *models.DataSource,
queryContext plugins.DataQuery) (plugins.DataResponse, error) { queryContext plugins.DataQuery) (plugins.DataResponse, error) {
refID := queryContext.Queries[0].RefID refID := queryContext.Queries[0].RefID