@@ -179,9 +179,14 @@ commands:
179179 display_memory_usage:
180180 steps:
181181 - run:
182- name: Max Memory Used
182+ name: Runner Memory Usage
183183 # The file does not seem to exist when DLC is disabled
184- command: cat /sys/fs/cgroup/memory/memory.max_usage_in_bytes || true
184+ command: |
185+ # Show cgroupv2 memory usage
186+ printf "cgroup memory.peak: $(cat /sys/fs/cgroup/memory.peak 2>/dev/null || echo 'not found')%s\n"
187+ printf "cgroup memory.max : $(cat /sys/fs/cgroup/memory.max 2>/dev/null || echo 'not found')%s\n"
188+ printf "cgroup memory.high: $(cat /sys/fs/cgroup/memory.high 2>/dev/null || echo 'not found')%s\n"
189+ printf "ram memory : $(grep MemTotal /proc/meminfo | tr -s ' ' | cut -d ' ' -f 2)%s\n"
185190 when: always
186191
187192
@@ -282,9 +287,11 @@ commands:
282287jobs:
283288 build:
284289 <<: *defaults
285- resource_class: xlarge
286290
287291 parameters:
292+ resourceClass:
293+ type: string
294+ default: xlarge
288295 gradleTarget:
289296 type: string
290297 cacheType:
@@ -296,6 +303,7 @@ jobs:
296303 type: string
297304 default: " .*"
298305
306+ resource_class: << parameters.resourceClass >>
299307 steps:
300308 - setup_code
301309
@@ -304,15 +312,15 @@ jobs:
304312
305313 - restore_dependency_cache:
306314 cacheType: << parameters.cacheType >>
307-
315+
308316 - run:
309317 name: Build Project
310318 command: >-
311319{% if is_nightly %}
312- ./gradlew resolveAndLockAll --write-locks &&
320+ ./gradlew resolveAndLockAll --write-locks --no-daemon &&
313321{% endif %}
314322 MAVEN_OPTS="-Xms64M -Xmx256M"
315- GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2560M -Xms2560M - XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp'"
323+ GRADLE_OPTS="-Dorg.gradle.jvmargs='-Xmx2560M -XX:ErrorFile=/tmp/hs_err_pid%p.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp'"
316324 ./gradlew clean
317325 << parameters.gradleTarget >>
318326 -PskipTests
@@ -384,6 +392,9 @@ jobs:
384392 <<: *defaults
385393
386394 parameters:
395+ resourceClass:
396+ type: string
397+ default: medium+
387398 parallelism:
388399 type: integer
389400 default: 1
@@ -395,7 +406,7 @@ jobs:
395406 type: string
396407 default: " .*"
397408
398- resource_class: medium+
409+ resource_class: << parameters.resourceClass >>
399410
400411 parallelism: << parameters.parallelism >>
401412
@@ -445,6 +456,8 @@ jobs:
445456 when: on_fail
446457 command: .circleci/cancel_workflow.sh
447458
459+ - display_memory_usage
460+
448461 build_clean_cache:
449462 <<: *defaults
450463
@@ -493,13 +506,13 @@ jobs:
493506
494507 tests: &tests
495508 <<: *defaults
496- # since tests use test containers, they will use a Linux VM / Remote Docker executor, so there is no medium+ size
497- resource_class: large
498-
499509 docker:
500510 - image: << pipeline.parameters.docker_image >>:{{ docker_image_prefix }}<< parameters.testJvm >>
501511
502512 parameters:
513+ resourceClass:
514+ type: string
515+ default: large
503516 environment:
504517 type: string
505518 default: ""
@@ -535,6 +548,9 @@ jobs:
535548 cacheType:
536549 type: string
537550
551+ # since tests use test containers, they will use a Linux VM / Remote Docker executor, so there is no medium+ size
552+ resource_class: << parameters.resourceClass >>
553+
538554 parallelism: << parameters.parallelism >>
539555
540556 steps:
@@ -652,13 +668,18 @@ jobs:
652668 exit 1
653669 fi
654670
671+ # TODO: merge xlarge_tests and tests? or rename this?
655672 xlarge_tests:
656673 <<: *tests
657674
658675 docker:
676+ # The first image listed in your configuration for a job is referred to as the primary container image
677+ # and this is where all steps in the job will run. Secondary containers can also be specified to run
678+ # alongside for running services, such as, databases.
659679 - image: << pipeline.parameters.docker_image >>:{{ docker_image_prefix }}<< parameters.testJvm >>
660680 environment:
661681 - CI_USE_TEST_AGENT=true
682+
662683 - image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.11.0
663684 environment:
664685 - LOG_LEVEL=DEBUG
@@ -667,8 +688,6 @@ jobs:
667688 - DD_POOL_TRACE_CHECK_FAILURES=true
668689 - DD_DISABLE_ERROR_RESPONSES=true
669690 - ENABLED_CHECKS=trace_content_length,trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service,trace_dd_service
670- # TODO: merge xlarge_tests and tests? or rename this?
671- resource_class: large
672691
673692
674693 # The only way to do fan-in in CircleCI seems to have a proper job, so let's have one that
@@ -969,15 +988,18 @@ build_test_jobs: &build_test_jobs
969988 cacheType: base
970989 - build:
971990 name: build_inst
991+ resourceClass: 2xlarge
972992 gradleTarget: :instrumentationTest
973993 cacheType: inst
974994 triggeredBy: *instrumentation_modules
975995 - build:
976996 name: build_latestdep
997+ resourceClass: 2xlarge
977998 gradleTarget: :instrumentationLatestDepTest
978999 cacheType: latestdep
9791000 - build:
9801001 name: build_smoke
1002+ resourceClass: 2xlarge
9811003 gradleTarget: :smokeTest
9821004 cacheType: smoke
9831005 - build:
@@ -1001,13 +1023,15 @@ build_test_jobs: &build_test_jobs
10011023 requires:
10021024 - ok_to_test
10031025 name: check_base
1026+ resourceClass: large
10041027 gradleTarget: ":baseCheck"
10051028 cacheType: base
10061029
10071030 - check:
10081031 requires:
10091032 - ok_to_test
10101033 name: check_inst
1034+ resourceClass: 2xlarge
10111035 parallelism: 5
10121036 gradleTarget: ":instrumentationCheck"
10131037 cacheType: inst
@@ -1017,6 +1041,7 @@ build_test_jobs: &build_test_jobs
10171041 requires:
10181042 - ok_to_test
10191043 name: check_smoke
1044+ resourceClass: large
10201045 gradleTarget: ":smokeCheck"
10211046 cacheType: smoke
10221047
@@ -1075,6 +1100,7 @@ build_test_jobs: &build_test_jobs
10751100 requires:
10761101 - ok_to_test
10771102 name: z_test_ << matrix.testJvm >>_inst
1103+ resourceClass: xlarge
10781104 gradleTarget: ":instrumentationTest"
10791105 gradleParameters: "-PskipFlakyTests"
10801106 triggeredBy: *instrumentation_modules
@@ -1103,6 +1129,7 @@ build_test_jobs: &build_test_jobs
11031129 - ok_to_test
11041130 - build_latestdep
11051131 name: test_8_inst_latest
1132+ resourceClass: xlarge
11061133 gradleTarget: " :instrumentationLatestDepTest"
11071134 gradleParameters: " -PskipFlakyTests"
11081135 triggeredBy: *instrumentation_modules
@@ -1117,6 +1144,7 @@ build_test_jobs: &build_test_jobs
11171144 - ok_to_test
11181145 - build_latestdep
11191146 name: test_17_inst_latest
1147+ resourceClass: xlarge
11201148 gradleTarget: " :instrumentationLatestDepTest"
11211149 gradleParameters: " -PskipFlakyTests"
11221150 triggeredBy: *instrumentation_modules
@@ -1304,6 +1332,7 @@ build_test_jobs: &build_test_jobs
13041332 requires:
13051333 - ok_to_test
13061334 name: z_test_8_smoke
1335+ resourceClass: xlarge
13071336 gradleTarget: " stageMainDist :smokeTest"
13081337 gradleParameters: " -PskipFlakyTests"
13091338 stage: smoke
0 commit comments