CloudMonitoring: Improve error message (#46599)

This commit is contained in:
Andres Martinez Gotor
2022-03-16 09:37:48 +01:00
committed by GitHub
parent 5ae3e3f6f7
commit 727204ed5e
2 changed files with 40 additions and 2 deletions
+10 -2
View File
@@ -72,6 +72,8 @@ func ProvideService(httpClientProvider httpclient.Provider, tracer tracing.Trace
tracer: tracer,
httpClientProvider: httpClientProvider,
im: datasource.NewInstanceManager(newInstanceSettings(httpClientProvider)),
gceDefaultProjectGetter: utils.GCEDefaultProject,
}
s.resourceHandler = httpadapter.New(s.newResourceMux())
@@ -91,7 +93,10 @@ func (s *Service) CheckHealth(ctx context.Context, req *backend.CheckHealthReque
defaultProject, err := s.getDefaultProject(ctx, *dsInfo)
if err != nil {
return nil, err
return &backend.CheckHealthResult{
Status: backend.HealthStatusError,
Message: err.Error(),
}, nil
}
url := fmt.Sprintf("%v/v3/projects/%v/metricDescriptors", dsInfo.services[cloudMonitor].url, defaultProject)
@@ -128,6 +133,9 @@ type Service struct {
tracer tracing.Tracer
resourceHandler backend.CallResourceHandler
// mocked in tests
gceDefaultProjectGetter func(ctx context.Context) (string, error)
}
type QueryModel struct {
@@ -612,7 +620,7 @@ func (s *Service) createRequest(ctx context.Context, dsInfo *datasourceInfo, pro
func (s *Service) getDefaultProject(ctx context.Context, dsInfo datasourceInfo) (string, error) {
if dsInfo.authenticationType == gceAuthentication {
return utils.GCEDefaultProject(ctx)
return s.gceDefaultProjectGetter(ctx)
}
return dsInfo.defaultProject, nil
}