diff --git a/cspell.config.json b/cspell.config.json index eb64cbf..dbe4983 100644 --- a/cspell.config.json +++ b/cspell.config.json @@ -34,6 +34,7 @@ "surql", "surrealdb", "typecheck", - "vals" + "vals", + "errorsource" ] } diff --git a/pkg/plugin/datasource.go b/pkg/plugin/datasource.go index bab4da1..cd2ad14 100644 --- a/pkg/plugin/datasource.go +++ b/pkg/plugin/datasource.go @@ -9,6 +9,7 @@ import ( "github.com/grafana-labs/surrealdb-datasource/pkg/client" "github.com/grafana/grafana-plugin-sdk-go/backend" "github.com/grafana/grafana-plugin-sdk-go/backend/instancemgmt" + "github.com/grafana/grafana-plugin-sdk-go/experimental/errorsource" "github.com/grafana/grafana-plugin-sdk-go/experimental/slo" "github.com/surrealdb/surrealdb.go" ) @@ -46,14 +47,14 @@ func NewDatasource(ctx context.Context, dsiConfig backend.DataSourceInstanceSett db, err := surrealdb.New(config.Endpoint) if err != nil { - return nil, err + return nil, errorsource.DownstreamError(err, false) } client := client.Use(db) _, err = client.Connect(&config) if err != nil { - return nil, fmt.Errorf("unable to connect to database: %w", err) + return nil, errorsource.DownstreamError(fmt.Errorf("unable to connect to database: %w", err), false) } return slo.NewMetricsWrapper(NewDatasourceInstance(client, &config), dsiConfig), nil