CloudWatch: Batch different time ranges separately (#98230)

This commit is contained in:
Isabella Siu
2025-01-03 10:22:14 -05:00
committed by GitHub
parent 5429512779
commit f3a553fb9b
8 changed files with 237 additions and 56 deletions
+4 -4
View File
@@ -18,7 +18,7 @@ import (
// matches a dynamic label
var dynamicLabel = regexp.MustCompile(`\$\{.+\}`)
func (e *cloudWatchExecutor) parseResponse(ctx context.Context, startTime time.Time, endTime time.Time, metricDataOutputs []*cloudwatch.GetMetricDataOutput,
func (e *cloudWatchExecutor) parseResponse(ctx context.Context, metricDataOutputs []*cloudwatch.GetMetricDataOutput,
queries []*models.CloudWatchQuery) ([]*responseWrapper, error) {
aggregatedResponse := aggregateResponse(metricDataOutputs)
queriesById := map[string]*models.CloudWatchQuery{}
@@ -40,7 +40,7 @@ func (e *cloudWatchExecutor) parseResponse(ctx context.Context, startTime time.T
}
var err error
dataRes.Frames, err = buildDataFrames(ctx, startTime, endTime, response, queryRow)
dataRes.Frames, err = buildDataFrames(ctx, response, queryRow)
if err != nil {
return nil, err
}
@@ -164,7 +164,7 @@ func getLabels(cloudwatchLabel string, query *models.CloudWatchQuery, addSeriesL
return labels
}
func buildDataFrames(ctx context.Context, startTime time.Time, endTime time.Time, aggregatedResponse models.QueryRowResponse,
func buildDataFrames(ctx context.Context, aggregatedResponse models.QueryRowResponse,
query *models.CloudWatchQuery) (data.Frames, error) {
frames := data.Frames{}
hasStaticLabel := query.Label != "" && !dynamicLabel.MatchString(query.Label)
@@ -172,7 +172,7 @@ func buildDataFrames(ctx context.Context, startTime time.Time, endTime time.Time
for _, metric := range aggregatedResponse.Metrics {
label := *metric.Label
deepLink, err := query.BuildDeepLink(startTime, endTime)
deepLink, err := query.BuildDeepLink(query.StartTime, query.EndTime)
if err != nil {
return nil, err
}