mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
mysql: refactor logs handling (#79148)
* mysql: refactor logs handling * fixed unit test
This commit is contained in:
parent
8ce4faf5ea
commit
9e71dc801d
@ -34,11 +34,10 @@ const (
|
|||||||
dateTimeFormat2 = "2006-01-02T15:04:05Z"
|
dateTimeFormat2 = "2006-01-02T15:04:05Z"
|
||||||
)
|
)
|
||||||
|
|
||||||
var logger = log.New("tsdb.mysql")
|
|
||||||
|
|
||||||
type Service struct {
|
type Service struct {
|
||||||
Cfg *setting.Cfg
|
Cfg *setting.Cfg
|
||||||
im instancemgmt.InstanceManager
|
im instancemgmt.InstanceManager
|
||||||
|
logger log.Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
func characterEscape(s string, escapeChar string) string {
|
func characterEscape(s string, escapeChar string) string {
|
||||||
@ -46,12 +45,14 @@ func characterEscape(s string, escapeChar string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ProvideService(cfg *setting.Cfg, httpClientProvider httpclient.Provider) *Service {
|
func ProvideService(cfg *setting.Cfg, httpClientProvider httpclient.Provider) *Service {
|
||||||
|
logger := log.New("tsdb.mysql")
|
||||||
return &Service{
|
return &Service{
|
||||||
im: datasource.NewInstanceManager(newInstanceSettings(cfg)),
|
im: datasource.NewInstanceManager(newInstanceSettings(cfg, logger)),
|
||||||
|
logger: logger,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func newInstanceSettings(cfg *setting.Cfg) datasource.InstanceFactoryFunc {
|
func newInstanceSettings(cfg *setting.Cfg, logger log.Logger) datasource.InstanceFactoryFunc {
|
||||||
return func(ctx context.Context, settings backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
return func(ctx context.Context, settings backend.DataSourceInstanceSettings) (instancemgmt.Instance, error) {
|
||||||
jsonData := sqleng.JsonData{
|
jsonData := sqleng.JsonData{
|
||||||
MaxOpenConns: cfg.SqlDatasourceMaxOpenConnsDefault,
|
MaxOpenConns: cfg.SqlDatasourceMaxOpenConnsDefault,
|
||||||
@ -174,9 +175,9 @@ func (s *Service) CheckHealth(ctx context.Context, req *backend.CheckHealthReque
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
var driverErr *mysql.MySQLError
|
var driverErr *mysql.MySQLError
|
||||||
if errors.As(err, &driverErr) {
|
if errors.As(err, &driverErr) {
|
||||||
return &backend.CheckHealthResult{Status: backend.HealthStatusError, Message: dsHandler.TransformQueryError(logger, driverErr).Error()}, nil
|
return &backend.CheckHealthResult{Status: backend.HealthStatusError, Message: dsHandler.TransformQueryError(s.logger, driverErr).Error()}, nil
|
||||||
}
|
}
|
||||||
return &backend.CheckHealthResult{Status: backend.HealthStatusError, Message: dsHandler.TransformQueryError(logger, err).Error()}, nil
|
return &backend.CheckHealthResult{Status: backend.HealthStatusError, Message: dsHandler.TransformQueryError(s.logger, err).Error()}, nil
|
||||||
}
|
}
|
||||||
return &backend.CheckHealthResult{Status: backend.HealthStatusOk, Message: "Database Connection OK"}, nil
|
return &backend.CheckHealthResult{Status: backend.HealthStatusOk, Message: "Database Connection OK"}, nil
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@ import (
|
|||||||
"github.com/grafana/grafana-plugin-sdk-go/data"
|
"github.com/grafana/grafana-plugin-sdk-go/data"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
|
"github.com/grafana/grafana/pkg/infra/log"
|
||||||
"github.com/grafana/grafana/pkg/setting"
|
"github.com/grafana/grafana/pkg/setting"
|
||||||
"github.com/grafana/grafana/pkg/tsdb/sqleng"
|
"github.com/grafana/grafana/pkg/tsdb/sqleng"
|
||||||
)
|
)
|
||||||
@ -73,6 +74,8 @@ func TestIntegrationMySQL(t *testing.T) {
|
|||||||
|
|
||||||
rowTransformer := mysqlQueryResultTransformer{}
|
rowTransformer := mysqlQueryResultTransformer{}
|
||||||
|
|
||||||
|
logger := log.New("mysql.test")
|
||||||
|
|
||||||
exe, err := sqleng.NewQueryDataHandler(setting.NewCfg(), config, &rowTransformer, newMysqlMacroEngine(logger, setting.NewCfg()), logger)
|
exe, err := sqleng.NewQueryDataHandler(setting.NewCfg(), config, &rowTransformer, newMysqlMacroEngine(logger, setting.NewCfg()), logger)
|
||||||
|
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
Loading…
Reference in New Issue
Block a user