Skip to content

[WIP] Trigger benchmarks from java-profiler #215

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .gitlab/benchmarks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Triggers a build within the Datadog infrastructure in the ddprof-build repository
trigger_internal_build:
rules:
- if: $CI_COMMIT_BRANCH =~ /release\/.*/
when: never
- when: always
allow_failure: false
variables:
DOWNSTREAM_BRANCH: "main"
DDPROF_DEFAULT_BRANCH: "main"
DDPROF_COMMIT_BRANCH: ${CI_COMMIT_BRANCH}
DDROF_COMMIT_SHA: ${CI_COMMIT_SHA}
DPROF_SHORT_COMMIT_SHA: ${CI_COMMIT_SHORT_SHA}
DDPROF_COMMIT_TAG: ${CI_COMMIT_TAG}
trigger:
project: DataDog/apm-reliability/async-profiler-build
strategy: depend
branch: $DOWNSTREAM_BRANCH
forward:
pipeline_variables: true
66 changes: 66 additions & 0 deletions .gitlab/macrobenchmarks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
.macrobenchmarks:
stage: macrobenchmarks
rules:
- if: $POPULATE_CACHE
when: never
- if: ($NIGHTLY_BENCHMARKS || $CI_PIPELINE_SOURCE != "schedule") && $CI_COMMIT_REF_NAME == "master"
when: always
- when: manual
allow_failure: true
tags: ["runner:apm-k8s-same-cpu"]
needs: ["build"]
interruptible: true
timeout: 1h
image: 486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/benchmarking-platform:dd-trace-java-petclinic
script:
## todo: I need to retrieve profiling lib
- git clone --branch java/petclinic https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.ddbuild.io/DataDog/benchmarking-platform platform && cd platform
- ./steps/run-benchmarks.sh
artifacts:
name: "artifacts"
when: always
paths:
- platform/artifacts/
expire_in: 3 months
variables:
FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY: "true"

K6_OPTIONS_WARMUP_RATE: 2000
K6_OPTIONS_WARMUP_DURATION: 5m
K6_OPTIONS_WARMUP_GRACEFUL_STOP: 10s
K6_OPTIONS_WARMUP_PRE_ALLOCATED_VUS: 4
K6_OPTIONS_WARMUP_MAX_VUS: 4

K6_OPTIONS_NORMAL_OPERATION_RATE: 1500
K6_OPTIONS_NORMAL_OPERATION_DURATION: 10m
K6_OPTIONS_NORMAL_OPERATION_GRACEFUL_STOP: 10s
K6_OPTIONS_NORMAL_OPERATION_PRE_ALLOCATED_VUS: 4
K6_OPTIONS_NORMAL_OPERATION_MAX_VUS: 4

K6_OPTIONS_HIGH_LOAD_RATE: 4000
K6_OPTIONS_HIGH_LOAD_DURATION: 5m
K6_OPTIONS_HIGH_LOAD_GRACEFUL_STOP: 10s
K6_OPTIONS_HIGH_LOAD_PRE_ALLOCATED_VUS: 4
K6_OPTIONS_HIGH_LOAD_MAX_VUS: 4
retry:
max: 2
when:
- unknown_failure
- data_integrity_failure
- runner_system_failure
- scheduler_failure
- api_failure

baseline:
extends: .macrobenchmarks
variables:
BP_BENCHMARKS_CONFIGURATION: baseline
TRACER_OPTS: -Ddd.service=bp-java-petclinic
JAVA_OPTS: -javaagent:/app/memcheck/stability-testing-memwatch.jar -Xmx128M

tracing-profiling:
extends: .macrobenchmarks
variables:
BP_BENCHMARKS_CONFIGURATION: tracing-profiling
TRACER_OPTS: -javaagent:/app/dd-java-agent.jar -Ddd.env=${BP_BENCHMARKS_CONFIGURATION} -Ddd.service=bp-java-petclinic
JAVA_OPTS: -javaagent:/app/memcheck/stability-testing-memwatch.jar -Xmx128M
Loading