From 4aff2d7469f45244768d050def3c87fd7a7d994a Mon Sep 17 00:00:00 2001 From: Alex Ashley Date: Tue, 16 Jun 2020 06:08:35 -0500 Subject: [PATCH] Stackdriver: Use default project name if project name isn't set on the query (#25413) * Get default project if not defined on query * Log when using default project name * Set query result error --- pkg/tsdb/stackdriver/stackdriver.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkg/tsdb/stackdriver/stackdriver.go b/pkg/tsdb/stackdriver/stackdriver.go index db7fc94c588..d106e3f0e2b 100644 --- a/pkg/tsdb/stackdriver/stackdriver.go +++ b/pkg/tsdb/stackdriver/stackdriver.go @@ -322,7 +322,18 @@ func calculateAlignmentPeriod(alignmentPeriod string, intervalMs int64, duration func (e *StackdriverExecutor) executeQuery(ctx context.Context, query *stackdriverQuery, tsdbQuery *tsdb.TsdbQuery) (*tsdb.QueryResult, stackdriverResponse, error) { queryResult := &tsdb.QueryResult{Meta: simplejson.New(), RefId: query.RefID} - req, err := e.createRequest(ctx, e.dsInfo, query, fmt.Sprintf("stackdriver%s", "v3/projects/"+query.ProjectName+"/timeSeries")) + projectName := query.ProjectName + if projectName == "" { + defaultProject, err := e.getDefaultProject(ctx) + if err != nil { + queryResult.Error = err + return queryResult, stackdriverResponse{}, nil + } + projectName = defaultProject + slog.Info("No project name set on query, using project name from datasource", "projectName", projectName) + } + + req, err := e.createRequest(ctx, e.dsInfo, query, fmt.Sprintf("stackdriver%s", "v3/projects/"+projectName+"/timeSeries")) if err != nil { queryResult.Error = err return queryResult, stackdriverResponse{}, nil