From d6b6c429ccbe341a041a609dc778785b004eb1e7 Mon Sep 17 00:00:00 2001 From: Josh Liburdi Date: Thu, 6 Jun 2024 10:09:33 -0700 Subject: [PATCH] fix(metrics): AWS CloudWatch Embedded Metrics Dimensions (#179) --- internal/metrics/aws_cloudwatch_embedded_metrics.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/internal/metrics/aws_cloudwatch_embedded_metrics.go b/internal/metrics/aws_cloudwatch_embedded_metrics.go index 03beadd5..f1c63b86 100644 --- a/internal/metrics/aws_cloudwatch_embedded_metrics.go +++ b/internal/metrics/aws_cloudwatch_embedded_metrics.go @@ -45,11 +45,9 @@ func (m *awsCloudWatchEmbeddedMetrics) Generate(ctx context.Context, data Data) return fmt.Errorf("metrics log_embedded_metrics: %v", err) } + var dimensions []string for key, val := range data.Attributes { - emf, err = sjson.SetBytes(emf, "_aws.CloudWatchMetrics.0.Dimensions.-1.-1", key) - if err != nil { - return fmt.Errorf("metrics log_embedded_metrics: %v", err) - } + dimensions = append(dimensions, key) emf, err = sjson.SetBytes(emf, key, val) if err != nil { @@ -57,6 +55,11 @@ func (m *awsCloudWatchEmbeddedMetrics) Generate(ctx context.Context, data Data) } } + emf, err = sjson.SetBytes(emf, "_aws.CloudWatchMetrics.0.Dimensions.-1", dimensions) + if err != nil { + return fmt.Errorf("metrics log_embedded_metrics: %v", err) + } + emf, err = sjson.SetBytes(emf, "_aws.CloudWatchMetrics.0.Metrics.0.Name", data.Name) if err != nil { return fmt.Errorf("metrics log_embedded_metrics: %v", err)