Skip to content

Commit 969eeb1

Browse files
authored
datasources: querier: deduplicate logging code (grafana#111019)
1 parent 9a57c5e commit 969eeb1

File tree

4 files changed

+15
-12
lines changed

4 files changed

+15
-12
lines changed

pkg/registry/apis/query/client/instance_provider.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ type singleTenantInstanceProvider struct {
2121
type singleTenantInstance struct {
2222
client clientapi.QueryDataClient
2323
instanceConf clientapi.InstanceConfigurationSettings
24+
logger log.Logger
2425
}
2526

2627
func (t *singleTenantInstance) GetDataSourceClient(_ context.Context, _ data.DataSourceRef) (clientapi.QueryDataClient, error) {
@@ -43,20 +44,20 @@ func NewSingleTenantInstanceProvider(cfg *setting.Cfg, features featuremgmt.Feat
4344
}
4445
}
4546

46-
func (s *singleTenantInstanceProvider) GetInstance(_ context.Context, _ map[string]string) (clientapi.Instance, error) {
47+
func (s *singleTenantInstanceProvider) GetInstance(_ context.Context, logger log.Logger, _ map[string]string) (clientapi.Instance, error) {
4748
return &singleTenantInstance{
4849
client: s.client,
4950
instanceConf: s.instanceConf,
51+
logger: logger,
5052
}, nil
5153
}
5254

5355
func (s *singleTenantInstance) GetSettings() clientapi.InstanceConfigurationSettings {
5456
return s.instanceConf
5557
}
5658

57-
func (s *singleTenantInstance) GetLogger(parent log.Logger) log.Logger {
58-
// currently we do not add any extra info
59-
return parent.New()
59+
func (s *singleTenantInstance) GetLogger() log.Logger {
60+
return s.logger
6061
}
6162

6263
func (s *singleTenantInstance) ReportMetrics() {

pkg/registry/apis/query/clientapi/clientapi.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ type Instance interface {
3333
GetDataSourceClient(ctx context.Context, ref data.DataSourceRef) (QueryDataClient, error)
3434
// fetch information on the grafana instance (e.g. feature toggles)
3535
GetSettings() InstanceConfigurationSettings
36-
GetLogger(parent log.Logger) log.Logger
37-
ReportMetrics() // some metrics are only reported at the end
36+
GetLogger() log.Logger // returns the instance's logger. this logs instance-specific data too
37+
ReportMetrics() // some metrics are only reported at the end
3838
}
3939

4040
type InstanceProvider interface {
41-
GetInstance(ctx context.Context, headers map[string]string) (Instance, error)
41+
GetInstance(ctx context.Context, logger log.Logger, headers map[string]string) (Instance, error)
4242
}

pkg/registry/apis/query/query.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ func handleQuery(ctx context.Context, raw query.QueryDataRequest, b QueryAPIBuil
277277

278278
headers := ExtractKnownHeaders(httpreq.Header)
279279

280-
instance, err := b.instanceProvider.GetInstance(ctx, headers)
280+
instance, err := b.instanceProvider.GetInstance(ctx, connectLogger, headers)
281281
if err != nil {
282282
connectLogger.Error("failed to get instance configuration settings", "err", err)
283283
responder.Error(err)
@@ -286,7 +286,7 @@ func handleQuery(ctx context.Context, raw query.QueryDataRequest, b QueryAPIBuil
286286

287287
instanceConfig := instance.GetSettings()
288288

289-
dsQuerierLoggerWithSlug := instance.GetLogger(connectLogger)
289+
dsQuerierLoggerWithSlug := instance.GetLogger()
290290

291291
qsDsClientBuilder := dsquerierclient.NewQsDatasourceClientBuilderWithInstance(
292292
instance,

pkg/registry/apis/query/query_test.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -259,20 +259,22 @@ func (m *mockResponder) Error(err error) {
259259

260260
type mockClient struct {
261261
stubbedFrame *data.Frame
262+
logger log.Logger
262263
}
263264

264-
func (m mockClient) GetInstance(ctx context.Context, headers map[string]string) (clientapi.Instance, error) {
265+
func (m mockClient) GetInstance(ctx context.Context, logger log.Logger, headers map[string]string) (clientapi.Instance, error) {
265266
mclient := mockClient{
266267
stubbedFrame: m.stubbedFrame,
268+
logger: logger,
267269
}
268270
return mclient, nil
269271
}
270272

271273
func (m mockClient) ReportMetrics() {
272274
}
273275

274-
func (m mockClient) GetLogger(parent log.Logger) log.Logger {
275-
return parent.New()
276+
func (m mockClient) GetLogger() log.Logger {
277+
return m.logger
276278
}
277279

278280
func (m mockClient) GetDataSourceClient(ctx context.Context, ref dataapi.DataSourceRef) (clientapi.QueryDataClient, error) {

0 commit comments

Comments
 (0)