Skip to content

Commit 9caa815

Browse files
authored
Elasticsearch: Decouple backend from infra/log (grafana#90527)
1 parent 269d54c commit 9caa815

12 files changed

+27
-27
lines changed

pkg/tsdb/elasticsearch/client/client.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import (
1717
"go.opentelemetry.io/otel/codes"
1818
"go.opentelemetry.io/otel/trace"
1919

20+
"github.com/grafana/grafana-plugin-sdk-go/backend/log"
2021
exp "github.com/grafana/grafana-plugin-sdk-go/experimental/errorsource"
21-
"github.com/grafana/grafana/pkg/infra/log"
2222
"github.com/grafana/grafana/pkg/infra/tracing"
2323
)
2424

@@ -55,7 +55,7 @@ type Client interface {
5555

5656
// NewClient creates a new elasticsearch client
5757
var NewClient = func(ctx context.Context, ds *DatasourceInfo, logger log.Logger, tracer tracing.Tracer) (Client, error) {
58-
logger = logger.New("entity", "client")
58+
logger = logger.FromContext(ctx).With("entity", "client")
5959

6060
ip, err := newIndexPattern(ds.Interval, ds.Database)
6161
if err != nil {

pkg/tsdb/elasticsearch/client/client_test.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ import (
1010
"time"
1111

1212
"github.com/grafana/grafana-plugin-sdk-go/backend"
13+
"github.com/grafana/grafana-plugin-sdk-go/backend/log"
1314
"github.com/stretchr/testify/assert"
1415
"github.com/stretchr/testify/require"
1516

1617
"github.com/grafana/grafana/pkg/components/simplejson"
17-
"github.com/grafana/grafana/pkg/infra/log"
1818
"github.com/grafana/grafana/pkg/infra/tracing"
1919
)
2020

@@ -67,7 +67,7 @@ func TestClient_ExecuteMultisearch(t *testing.T) {
6767
To: to,
6868
}
6969

70-
c, err := NewClient(context.Background(), &ds, log.New("test", "test"), tracing.InitializeTracerForTest())
70+
c, err := NewClient(context.Background(), &ds, log.New(), tracing.InitializeTracerForTest())
7171
require.NoError(t, err)
7272
require.NotNil(t, c)
7373

@@ -163,7 +163,7 @@ func TestClient_ExecuteMultisearch(t *testing.T) {
163163
To: to2,
164164
}
165165

166-
c, err := NewClient(context.Background(), &ds, log.New("test", "test"), tracing.InitializeTracerForTest())
166+
c, err := NewClient(context.Background(), &ds, log.New(), tracing.InitializeTracerForTest())
167167
require.NoError(t, err)
168168
require.NotNil(t, c)
169169

@@ -260,7 +260,7 @@ func TestClient_Index(t *testing.T) {
260260
To: to,
261261
}
262262

263-
c, err := NewClient(context.Background(), &ds, log.New("test", "test"), tracing.InitializeTracerForTest())
263+
c, err := NewClient(context.Background(), &ds, log.New(), tracing.InitializeTracerForTest())
264264
require.NoError(t, err)
265265
require.NotNil(t, c)
266266

pkg/tsdb/elasticsearch/data_query.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ import (
1010
"time"
1111

1212
"github.com/grafana/grafana-plugin-sdk-go/backend"
13+
"github.com/grafana/grafana-plugin-sdk-go/backend/log"
1314
"github.com/grafana/grafana-plugin-sdk-go/experimental/errorsource"
1415

1516
"github.com/grafana/grafana/pkg/components/simplejson"
16-
"github.com/grafana/grafana/pkg/infra/log"
1717
"github.com/grafana/grafana/pkg/infra/tracing"
1818
es "github.com/grafana/grafana/pkg/tsdb/elasticsearch/client"
1919
)

pkg/tsdb/elasticsearch/data_query_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import (
77
"time"
88

99
"github.com/grafana/grafana-plugin-sdk-go/backend"
10+
"github.com/grafana/grafana-plugin-sdk-go/backend/log"
1011
"github.com/stretchr/testify/assert"
1112
"github.com/stretchr/testify/require"
1213

13-
"github.com/grafana/grafana/pkg/infra/log"
1414
"github.com/grafana/grafana/pkg/infra/tracing"
1515
es "github.com/grafana/grafana/pkg/tsdb/elasticsearch/client"
1616
)
@@ -1862,6 +1862,6 @@ func executeElasticsearchDataQuery(c es.Client, body string, from, to time.Time)
18621862
},
18631863
},
18641864
}
1865-
query := newElasticsearchDataQuery(context.Background(), c, &dataRequest, log.New("test.logger"), tracing.InitializeTracerForTest())
1865+
query := newElasticsearchDataQuery(context.Background(), c, &dataRequest, log.New(), tracing.InitializeTracerForTest())
18661866
return query.execute()
18671867
}

pkg/tsdb/elasticsearch/elasticsearch.go

+5-7
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,14 @@ import (
1818
"github.com/grafana/grafana-plugin-sdk-go/backend/datasource"
1919
"github.com/grafana/grafana-plugin-sdk-go/backend/httpclient"
2020
"github.com/grafana/grafana-plugin-sdk-go/backend/instancemgmt"
21+
"github.com/grafana/grafana-plugin-sdk-go/backend/log"
2122
exp "github.com/grafana/grafana-plugin-sdk-go/experimental/errorsource"
2223
exphttpclient "github.com/grafana/grafana-plugin-sdk-go/experimental/errorsource/httpclient"
2324

24-
"github.com/grafana/grafana/pkg/infra/log"
2525
"github.com/grafana/grafana/pkg/infra/tracing"
2626
es "github.com/grafana/grafana/pkg/tsdb/elasticsearch/client"
2727
)
2828

29-
var eslog = log.New("tsdb.elasticsearch")
30-
3129
const (
3230
// headerFromExpression is used by data sources to identify expression queries
3331
headerFromExpression = "X-Grafana-From-Expr"
@@ -40,21 +38,21 @@ const (
4038
type Service struct {
4139
im instancemgmt.InstanceManager
4240
tracer tracing.Tracer
43-
logger *log.ConcreteLogger
41+
logger log.Logger
4442
}
4543

4644
func ProvideService(httpClientProvider *httpclient.Provider, tracer tracing.Tracer) *Service {
4745
return &Service{
4846
im: datasource.NewInstanceManager(newInstanceSettings(httpClientProvider)),
4947
tracer: tracer,
50-
logger: eslog,
48+
logger: backend.NewLoggerWith("logger", "tsdb.elasticsearch"),
5149
}
5250
}
5351

5452
func (s *Service) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error) {
5553
dsInfo, err := s.getDSInfo(ctx, req.PluginContext)
5654
_, fromAlert := req.Headers[headerFromAlert]
57-
logger := s.logger.FromContext(ctx).New("fromAlert", fromAlert)
55+
logger := s.logger.FromContext(ctx).With("fromAlert", fromAlert)
5856

5957
if err != nil {
6058
logger.Error("Failed to get data source info", "error", err)
@@ -193,7 +191,7 @@ func (s *Service) getDSInfo(ctx context.Context, pluginCtx backend.PluginContext
193191
}
194192

195193
func (s *Service) CallResource(ctx context.Context, req *backend.CallResourceRequest, sender backend.CallResourceResponseSender) error {
196-
logger := eslog.FromContext(ctx)
194+
logger := s.logger.FromContext(ctx)
197195
// allowed paths for resource calls:
198196
// - empty string for fetching db version
199197
// - /_mapping for fetching index mapping, e.g. requests going to `index/_mapping`

pkg/tsdb/elasticsearch/healthcheck.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
)
1414

1515
func (s *Service) CheckHealth(ctx context.Context, req *backend.CheckHealthRequest) (*backend.CheckHealthResult, error) {
16-
logger := eslog.FromContext(ctx)
16+
logger := s.logger.FromContext(ctx)
1717

1818
ds, err := s.getDSInfo(ctx, req.PluginContext)
1919
if err != nil {

pkg/tsdb/elasticsearch/healthcheck_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"github.com/grafana/grafana-plugin-sdk-go/backend"
1111
"github.com/grafana/grafana-plugin-sdk-go/backend/httpclient"
1212
"github.com/grafana/grafana-plugin-sdk-go/backend/instancemgmt"
13+
"github.com/grafana/grafana-plugin-sdk-go/backend/log"
1314
es "github.com/grafana/grafana/pkg/tsdb/elasticsearch/client"
1415
"github.com/stretchr/testify/assert"
1516
)
@@ -75,6 +76,7 @@ func (*FakeInstanceManager) Do(_ context.Context, _ backend.PluginContext, _ ins
7576

7677
func GetMockService(isDsHealthy bool) *Service {
7778
return &Service{
78-
im: &FakeInstanceManager{isDsHealthy: isDsHealthy},
79+
im: &FakeInstanceManager{isDsHealthy: isDsHealthy},
80+
logger: log.New(),
7981
}
8082
}

pkg/tsdb/elasticsearch/parse_query.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ package elasticsearch
22

33
import (
44
"github.com/grafana/grafana-plugin-sdk-go/backend"
5+
"github.com/grafana/grafana-plugin-sdk-go/backend/log"
56

67
"github.com/grafana/grafana/pkg/components/simplejson"
7-
"github.com/grafana/grafana/pkg/infra/log"
88
)
99

1010
func parseQuery(tsdbQuery []backend.DataQuery, logger log.Logger) ([]*Query, error) {

pkg/tsdb/elasticsearch/parse_query_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package elasticsearch
33
import (
44
"testing"
55

6-
"github.com/grafana/grafana/pkg/infra/log"
6+
"github.com/grafana/grafana-plugin-sdk-go/backend/log"
77
"github.com/stretchr/testify/require"
88
)
99

@@ -61,7 +61,7 @@ func TestParseQuery(t *testing.T) {
6161
}`
6262
dataQuery, err := newDataQuery(body)
6363
require.NoError(t, err)
64-
queries, err := parseQuery(dataQuery.Queries, log.New("test.logger"))
64+
queries, err := parseQuery(dataQuery.Queries, log.New())
6565
require.NoError(t, err)
6666
require.Len(t, queries, 1)
6767

pkg/tsdb/elasticsearch/querydata_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import (
1010
"time"
1111

1212
"github.com/grafana/grafana-plugin-sdk-go/backend"
13+
"github.com/grafana/grafana-plugin-sdk-go/backend/log"
1314

14-
"github.com/grafana/grafana/pkg/infra/log"
1515
"github.com/grafana/grafana/pkg/infra/tracing"
1616
es "github.com/grafana/grafana/pkg/tsdb/elasticsearch/client"
1717
)
@@ -142,7 +142,7 @@ func queryDataTestWithResponseCode(queriesBytes []byte, responseStatusCode int,
142142
return nil
143143
})
144144

145-
result, err := queryData(context.Background(), &req, dsInfo, log.New("test.logger"), tracing.InitializeTracerForTest())
145+
result, err := queryData(context.Background(), &req, dsInfo, log.New(), tracing.InitializeTracerForTest())
146146
if err != nil {
147147
return queryDataTestResult{}, err
148148
}

pkg/tsdb/elasticsearch/response_parser.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ import (
1212
"time"
1313

1414
"github.com/grafana/grafana-plugin-sdk-go/backend"
15+
"github.com/grafana/grafana-plugin-sdk-go/backend/log"
1516
"github.com/grafana/grafana-plugin-sdk-go/data"
1617
"github.com/grafana/grafana-plugin-sdk-go/experimental/errorsource"
1718
"go.opentelemetry.io/otel/attribute"
1819
"go.opentelemetry.io/otel/codes"
1920
"go.opentelemetry.io/otel/trace"
2021

2122
"github.com/grafana/grafana/pkg/components/simplejson"
22-
"github.com/grafana/grafana/pkg/infra/log"
2323
"github.com/grafana/grafana/pkg/infra/tracing"
2424
es "github.com/grafana/grafana/pkg/tsdb/elasticsearch/client"
2525
"github.com/grafana/grafana/pkg/tsdb/elasticsearch/instrumentation"

pkg/tsdb/elasticsearch/response_parser_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ import (
99
"time"
1010

1111
"github.com/grafana/grafana-plugin-sdk-go/backend"
12+
"github.com/grafana/grafana-plugin-sdk-go/backend/log"
1213
"github.com/grafana/grafana-plugin-sdk-go/data"
1314
"github.com/grafana/grafana-plugin-sdk-go/experimental"
1415
"github.com/stretchr/testify/assert"
1516
"github.com/stretchr/testify/require"
1617

17-
"github.com/grafana/grafana/pkg/infra/log"
1818
"github.com/grafana/grafana/pkg/infra/tracing"
1919
es "github.com/grafana/grafana/pkg/tsdb/elasticsearch/client"
2020
)
@@ -3677,12 +3677,12 @@ func parseTestResponse(tsdbQueries map[string]string, responseBody string, keepL
36773677
return nil, err
36783678
}
36793679

3680-
queries, err := parseQuery(tsdbQuery.Queries, log.New("test.logger"))
3680+
queries, err := parseQuery(tsdbQuery.Queries, log.New())
36813681
if err != nil {
36823682
return nil, err
36833683
}
36843684

3685-
return parseResponse(context.Background(), response.Responses, queries, configuredFields, keepLabelsInResponse, log.New("test.logger"), tracing.InitializeTracerForTest())
3685+
return parseResponse(context.Background(), response.Responses, queries, configuredFields, keepLabelsInResponse, log.New(), tracing.InitializeTracerForTest())
36863686
}
36873687

36883688
func requireTimeValue(t *testing.T, expected int64, frame *data.Frame, index int) {

0 commit comments

Comments
 (0)