From 84b9d6381763bc634ed138a36c8cb23c25c3211c Mon Sep 17 00:00:00 2001 From: Emily Stolfo Date: Tue, 26 Oct 2021 14:32:59 +0200 Subject: [PATCH 1/4] Simpler calculation of time to wait until func deadline and timer creation --- apm-lambda-extension/main.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/apm-lambda-extension/main.go b/apm-lambda-extension/main.go index 97f179ae..24496b36 100644 --- a/apm-lambda-extension/main.go +++ b/apm-lambda-extension/main.go @@ -164,12 +164,11 @@ func main() { }() // Calculate how long to wait for a runtimeDone event - funcTimeout := time.Unix(0, event.DeadlineMs*int64(time.Millisecond)) - msBeforeFuncTimeout := 100 * time.Millisecond - timeToWait := funcTimeout.Sub(time.Now()) - msBeforeFuncTimeout + flushDeadlineMs := event.DeadlineMs - 100 + durationUntilFlushDeadline := time.Until(time.UnixMilli(flushDeadlineMs)) - // Create a timer that expires after timeToWait - timer := time.NewTimer(timeToWait) + // Create a timer that expires after durationUntilFlushDeadline + timer := time.NewTimer(durationUntilFlushDeadline * time.Millisecond) defer timer.Stop() select { From 7d9949b4b682abc07a593deba77b4ca659ee7bbd Mon Sep 17 00:00:00 2001 From: Emily Stolfo Date: Tue, 26 Oct 2021 14:56:17 +0200 Subject: [PATCH 2/4] Only test with go 1.17 --- .ci/Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/Jenkinsfile b/.ci/Jenkinsfile index 9ea5256d..00cbba58 100644 --- a/.ci/Jenkinsfile +++ b/.ci/Jenkinsfile @@ -57,7 +57,7 @@ pipeline { } axis { name 'GO_VERSION' - values '1.14', '1.15', '1.16' + values '1.17' } } stages { From 9b655e063abbbaff5c01baa686b7c82bc56f2a77 Mon Sep 17 00:00:00 2001 From: Emily Stolfo Date: Wed, 27 Oct 2021 14:33:34 +0200 Subject: [PATCH 3/4] Don't use UnixMilli --- .ci/Jenkinsfile | 2 +- apm-lambda-extension/main.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.ci/Jenkinsfile b/.ci/Jenkinsfile index 00cbba58..d6de0b69 100644 --- a/.ci/Jenkinsfile +++ b/.ci/Jenkinsfile @@ -57,7 +57,7 @@ pipeline { } axis { name 'GO_VERSION' - values '1.17' + values '1.15', '1.16', '1.17' } } stages { diff --git a/apm-lambda-extension/main.go b/apm-lambda-extension/main.go index 24496b36..d92b1651 100644 --- a/apm-lambda-extension/main.go +++ b/apm-lambda-extension/main.go @@ -165,7 +165,7 @@ func main() { // Calculate how long to wait for a runtimeDone event flushDeadlineMs := event.DeadlineMs - 100 - durationUntilFlushDeadline := time.Until(time.UnixMilli(flushDeadlineMs)) + durationUntilFlushDeadline := time.Until(time.Unix(flushDeadlineMs/1000, 0)) // Create a timer that expires after durationUntilFlushDeadline timer := time.NewTimer(durationUntilFlushDeadline * time.Millisecond) From 9db1f40eaf52eaff3840ed26c7a11da122807541 Mon Sep 17 00:00:00 2001 From: Emily Stolfo Date: Wed, 27 Oct 2021 15:00:00 +0200 Subject: [PATCH 4/4] No need to multiple by milliseconds --- apm-lambda-extension/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apm-lambda-extension/main.go b/apm-lambda-extension/main.go index d92b1651..b9ec5eb0 100644 --- a/apm-lambda-extension/main.go +++ b/apm-lambda-extension/main.go @@ -168,7 +168,7 @@ func main() { durationUntilFlushDeadline := time.Until(time.Unix(flushDeadlineMs/1000, 0)) // Create a timer that expires after durationUntilFlushDeadline - timer := time.NewTimer(durationUntilFlushDeadline * time.Millisecond) + timer := time.NewTimer(durationUntilFlushDeadline) defer timer.Stop() select {