From 9e05fc218c4909b6cfebe0a5417c1f429d84a393 Mon Sep 17 00:00:00 2001 From: Dmytro Yurchenko <88330911+ddyurchenko@users.noreply.github.com> Date: Wed, 17 Jul 2024 19:37:02 +0200 Subject: [PATCH] Add instruction how to update Go version for macrobenchmarks (#2793) --- .gitlab/macrobenchmarks.yml | 67 ++++++++++++++++++++++++------------- 1 file changed, 43 insertions(+), 24 deletions(-) diff --git a/.gitlab/macrobenchmarks.yml b/.gitlab/macrobenchmarks.yml index 90d911da98..542bfb0c93 100644 --- a/.gitlab/macrobenchmarks.yml +++ b/.gitlab/macrobenchmarks.yml @@ -38,122 +38,141 @@ variables: # benchmarks get changed to run on every PR) allow_failure: true -go122-baseline: + retry: + max: 2 + when: + - unknown_failure + - data_integrity_failure + - runner_system_failure + - scheduler_failure + - api_failure + + +# +# Please read next before updating Go version in this file! +# +# In order to update Go version, you need to include it in benchmarks Docker image first: +# 1. Update version in Dockerfile https://github.com/DataDog/benchmarking-platform/blob/go/go-prof-app/container/Dockerfile#L5 +# 2. Rebuild image in Gitlab CI (build-images CI job in https://gitlab.ddbuild.io/DataDog/apm-reliability/benchmarking-platform/-/pipelines?page=1&scope=all&ref=go%2Fgo-prof-app) +# + +.go121-benchmarks: extends: .benchmarks + variables: + GO_VERSION: "1.21.12" + +.go122-benchmarks: + extends: .benchmarks + variables: + GO_VERSION: "1.22.5" + +# +# Specific macrobenchmark configurations are below + +go122-baseline: + extends: .go122-benchmarks variables: ENABLE_DDPROF: "false" ENABLE_TRACING: "false" ENABLE_PROFILING: "false" ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.22.5" go122-only-trace: - extends: .benchmarks + extends: .go122-benchmarks variables: ENABLE_DDPROF: "false" ENABLE_TRACING: "true" ENABLE_PROFILING: "false" ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.22.5" go122-only-profile: - extends: .benchmarks + extends: .go122-benchmarks variables: ENABLE_DDPROF: "false" ENABLE_TRACING: "false" ENABLE_PROFILING: "true" ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.22.5" go122-profile-trace: - extends: .benchmarks + extends: .go122-benchmarks variables: ENABLE_DDPROF: "false" ENABLE_TRACING: "true" ENABLE_PROFILING: "true" ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.22.5" go122-trace-asm: - extends: .benchmarks + extends: .go122-benchmarks variables: ENABLE_DDPROF: "false" ENABLE_TRACING: "true" ENABLE_PROFILING: "false" ENABLE_APPSEC: "true" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.22.5" go122-profile-trace-asm: - extends: .benchmarks + extends: .go122-benchmarks variables: ENABLE_DDPROF: "false" ENABLE_TRACING: "true" ENABLE_PROFILING: "true" ENABLE_APPSEC: "true" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.22.5" go121-baseline: - extends: .benchmarks + extends: .go121-benchmarks variables: ENABLE_DDPROF: "false" ENABLE_TRACING: "false" ENABLE_PROFILING: "false" ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.21.12" go121-only-trace: - extends: .benchmarks + extends: .go121-benchmarks variables: ENABLE_DDPROF: "false" ENABLE_TRACING: "true" ENABLE_PROFILING: "false" ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.21.12" go121-only-profile: - extends: .benchmarks + extends: .go121-benchmarks variables: ENABLE_DDPROF: "false" ENABLE_TRACING: "false" ENABLE_PROFILING: "true" ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.21.12" go121-profile-trace: - extends: .benchmarks + extends: .go121-benchmarks variables: ENABLE_DDPROF: "false" ENABLE_TRACING: "true" ENABLE_PROFILING: "true" ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.21.12" go121-trace-asm: - extends: .benchmarks + extends: .go121-benchmarks variables: ENABLE_DDPROF: "false" ENABLE_TRACING: "true" ENABLE_PROFILING: "false" ENABLE_APPSEC: "true" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.21.12" go121-profile-trace-asm: - extends: .benchmarks + extends: .go121-benchmarks variables: ENABLE_DDPROF: "false" ENABLE_TRACING: "true" ENABLE_PROFILING: "true" ENABLE_APPSEC: "true" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" - GO_VERSION: "1.21.12"