From 27d60deb6d8f2a2f6e60bf4d6fe3690fd3f93d85 Mon Sep 17 00:00:00 2001 From: Dmytro Yurchenko <88330911+ddyurchenko@users.noreply.github.com> Date: Thu, 27 Jun 2024 15:30:55 +0200 Subject: [PATCH] Upgrade macrobenchmarks setup, add CPU / RSS utilization overhead measurements (#2763) --- .gitlab/macrobenchmarks.yml | 38 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/.gitlab/macrobenchmarks.yml b/.gitlab/macrobenchmarks.yml index 0b60a295d4..7e43d3719f 100644 --- a/.gitlab/macrobenchmarks.yml +++ b/.gitlab/macrobenchmarks.yml @@ -30,11 +30,14 @@ variables: GO_PROF_APP_BUILD_VARIANT: "candidate" DD_TRACE_GO_VERSION: "latest" + LOAD_TESTS: io-bound,cpu-bound,cgo-cpu-bound,cpu-bound-x-client-ip-enabled + PARALLELIZE: "true" # Workaround: Currently we're not running the benchmarks on every PR, but GitHub still shows them as pending. # By marking the benchmarks as allow_failure, this should go away. (This workaround should be removed once the # benchmarks get changed to run on every PR) allow_failure: true + go122-baseline: extends: .benchmarks variables: @@ -44,8 +47,7 @@ go122-baseline: ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" GO_VERSION: "1.22.1" - LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled - PARALLELIZE: "true" + go122-only-trace: extends: .benchmarks variables: @@ -55,8 +57,7 @@ go122-only-trace: ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" GO_VERSION: "1.22.1" - LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled - PARALLELIZE: "true" + go122-only-profile: extends: .benchmarks variables: @@ -66,8 +67,7 @@ go122-only-profile: ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" GO_VERSION: "1.22.1" - LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled - PARALLELIZE: "true" + go122-profile-trace: extends: .benchmarks variables: @@ -77,8 +77,7 @@ go122-profile-trace: ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" GO_VERSION: "1.22.1" - LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled - PARALLELIZE: "true" + go122-trace-asm: extends: .benchmarks variables: @@ -88,8 +87,7 @@ go122-trace-asm: ENABLE_APPSEC: "true" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" GO_VERSION: "1.22.1" - LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled - PARALLELIZE: "true" + go122-profile-trace-asm: extends: .benchmarks variables: @@ -99,8 +97,7 @@ go122-profile-trace-asm: ENABLE_APPSEC: "true" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" GO_VERSION: "1.22.1" - LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled - PARALLELIZE: "true" + go120-baseline: extends: .benchmarks variables: @@ -110,8 +107,7 @@ go120-baseline: ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" GO_VERSION: "1.20.14" - LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled - PARALLELIZE: "true" + go120-only-trace: extends: .benchmarks variables: @@ -121,8 +117,7 @@ go120-only-trace: ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" GO_VERSION: "1.20.14" - LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled - PARALLELIZE: "true" + go120-only-profile: extends: .benchmarks variables: @@ -132,8 +127,7 @@ go120-only-profile: ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" GO_VERSION: "1.20.14" - LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled - PARALLELIZE: "true" + go120-profile-trace: extends: .benchmarks variables: @@ -143,8 +137,7 @@ go120-profile-trace: ENABLE_APPSEC: "false" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" GO_VERSION: "1.20.14" - LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled - PARALLELIZE: "true" + go120-trace-asm: extends: .benchmarks variables: @@ -154,8 +147,7 @@ go120-trace-asm: ENABLE_APPSEC: "true" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" GO_VERSION: "1.20.14" - LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled - PARALLELIZE: "true" + go120-profile-trace-asm: extends: .benchmarks variables: @@ -165,5 +157,3 @@ go120-profile-trace-asm: ENABLE_APPSEC: "true" DD_PROFILING_EXECUTION_TRACE_ENABLED: "false" GO_VERSION: "1.20.14" - LOAD_TESTS: normal_operation_io-bound,high_load_io-bound|normal_operation_cpu-bound,high_load_cpu-bound|normal_operation_cgo-cpu-bound,high_load_cgo-cpu-bound|normal_operation_cpu-bound-x-client-ip-enabled,high_load_cpu-bound-x-client-ip-enabled - PARALLELIZE: "true"