From 4f8e7484031a1f8dd439d1010c0183baf2431c11 Mon Sep 17 00:00:00 2001 From: kruskal <99559985+kruskall@users.noreply.github.com> Date: Thu, 28 Jul 2022 17:35:16 +0200 Subject: [PATCH] fix: do not enqueue broken metrics data to the apm server If an error is returned when processing platform metrics, the processed metrics are enqueued to the apm server regardless. We can't assume anything about the processed metrics so we return an error which is logged correctly. --- apm-lambda-extension/logsapi/event.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apm-lambda-extension/logsapi/event.go b/apm-lambda-extension/logsapi/event.go index 6501dd68..e2cd6738 100644 --- a/apm-lambda-extension/logsapi/event.go +++ b/apm-lambda-extension/logsapi/event.go @@ -93,10 +93,10 @@ func (lc *Client) ProcessLogs( extension.Log.Debug("Received platform report for the previous function invocation") processedMetrics, err := ProcessPlatformReport(metadataContainer, prevEvent, logEvent) if err != nil { - extension.Log.Errorf("Error processing Lambda platform metrics : %v", err) - } else { - apmClient.EnqueueAPMData(processedMetrics) + return err } + + apmClient.EnqueueAPMData(processedMetrics) } else { extension.Log.Warn("report event request id didn't match the previous event id") extension.Log.Debug("Log API runtimeDone event request id didn't match")