@@ -179,9 +179,14 @@ commands:
179
179
display_memory_usage:
180
180
steps:
181
181
- run:
182
- name: Max Memory Used
182
+ name: Runner Memory Usage
183
183
# 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"
185
190
when: always
186
191
187
192
@@ -282,9 +287,11 @@ commands:
282
287
jobs:
283
288
build:
284
289
<<: *defaults
285
- resource_class: xlarge
286
290
287
291
parameters:
292
+ resourceClass:
293
+ type: string
294
+ default: xlarge
288
295
gradleTarget:
289
296
type: string
290
297
cacheType:
@@ -296,6 +303,7 @@ jobs:
296
303
type: string
297
304
default: " .*"
298
305
306
+ resource_class: << parameters.resourceClass >>
299
307
steps:
300
308
- setup_code
301
309
@@ -304,15 +312,15 @@ jobs:
304
312
305
313
- restore_dependency_cache:
306
314
cacheType: << parameters.cacheType >>
307
-
315
+
308
316
- run:
309
317
name: Build Project
310
318
command: >-
311
319
{% if is_nightly %}
312
- ./gradlew resolveAndLockAll --write-locks &&
320
+ ./gradlew resolveAndLockAll --write-locks --no-daemon &&
313
321
{% endif %}
314
322
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'"
316
324
./gradlew clean
317
325
<< parameters.gradleTarget >>
318
326
-PskipTests
@@ -384,6 +392,9 @@ jobs:
384
392
<<: *defaults
385
393
386
394
parameters:
395
+ resourceClass:
396
+ type: string
397
+ default: medium+
387
398
parallelism:
388
399
type: integer
389
400
default: 1
@@ -395,7 +406,7 @@ jobs:
395
406
type: string
396
407
default: " .*"
397
408
398
- resource_class: medium+
409
+ resource_class: << parameters.resourceClass >>
399
410
400
411
parallelism: << parameters.parallelism >>
401
412
@@ -445,6 +456,8 @@ jobs:
445
456
when: on_fail
446
457
command: .circleci/cancel_workflow.sh
447
458
459
+ - display_memory_usage
460
+
448
461
build_clean_cache:
449
462
<<: *defaults
450
463
@@ -493,13 +506,13 @@ jobs:
493
506
494
507
tests: &tests
495
508
<<: *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
-
499
509
docker:
500
510
- image: << pipeline.parameters.docker_image >>:{{ docker_image_prefix }}<< parameters.testJvm >>
501
511
502
512
parameters:
513
+ resourceClass:
514
+ type: string
515
+ default: large
503
516
environment:
504
517
type: string
505
518
default: ""
@@ -535,6 +548,9 @@ jobs:
535
548
cacheType:
536
549
type: string
537
550
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
+
538
554
parallelism: << parameters.parallelism >>
539
555
540
556
steps:
@@ -652,13 +668,18 @@ jobs:
652
668
exit 1
653
669
fi
654
670
671
+ # TODO: merge xlarge_tests and tests? or rename this?
655
672
xlarge_tests:
656
673
<<: *tests
657
674
658
675
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.
659
679
- image: << pipeline.parameters.docker_image >>:{{ docker_image_prefix }}<< parameters.testJvm >>
660
680
environment:
661
681
- CI_USE_TEST_AGENT=true
682
+
662
683
- image: ghcr.io/datadog/dd-apm-test-agent/ddapm-test-agent:v1.11.0
663
684
environment:
664
685
- LOG_LEVEL=DEBUG
@@ -667,8 +688,6 @@ jobs:
667
688
- DD_POOL_TRACE_CHECK_FAILURES=true
668
689
- DD_DISABLE_ERROR_RESPONSES=true
669
690
- 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
672
691
673
692
674
693
# 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
969
988
cacheType: base
970
989
- build:
971
990
name: build_inst
991
+ resourceClass: 2xlarge
972
992
gradleTarget: :instrumentationTest
973
993
cacheType: inst
974
994
triggeredBy: *instrumentation_modules
975
995
- build:
976
996
name: build_latestdep
997
+ resourceClass: 2xlarge
977
998
gradleTarget: :instrumentationLatestDepTest
978
999
cacheType: latestdep
979
1000
- build:
980
1001
name: build_smoke
1002
+ resourceClass: 2xlarge
981
1003
gradleTarget: :smokeTest
982
1004
cacheType: smoke
983
1005
- build:
@@ -1001,13 +1023,15 @@ build_test_jobs: &build_test_jobs
1001
1023
requires:
1002
1024
- ok_to_test
1003
1025
name: check_base
1026
+ resourceClass: large
1004
1027
gradleTarget: ":baseCheck"
1005
1028
cacheType: base
1006
1029
1007
1030
- check:
1008
1031
requires:
1009
1032
- ok_to_test
1010
1033
name: check_inst
1034
+ resourceClass: 2xlarge
1011
1035
parallelism: 5
1012
1036
gradleTarget: ":instrumentationCheck"
1013
1037
cacheType: inst
@@ -1017,6 +1041,7 @@ build_test_jobs: &build_test_jobs
1017
1041
requires:
1018
1042
- ok_to_test
1019
1043
name: check_smoke
1044
+ resourceClass: large
1020
1045
gradleTarget: ":smokeCheck"
1021
1046
cacheType: smoke
1022
1047
@@ -1075,6 +1100,7 @@ build_test_jobs: &build_test_jobs
1075
1100
requires:
1076
1101
- ok_to_test
1077
1102
name: z_test_ << matrix.testJvm >>_inst
1103
+ resourceClass: xlarge
1078
1104
gradleTarget: ":instrumentationTest"
1079
1105
gradleParameters: "-PskipFlakyTests"
1080
1106
triggeredBy: *instrumentation_modules
@@ -1103,6 +1129,7 @@ build_test_jobs: &build_test_jobs
1103
1129
- ok_to_test
1104
1130
- build_latestdep
1105
1131
name: test_8_inst_latest
1132
+ resourceClass: xlarge
1106
1133
gradleTarget: " :instrumentationLatestDepTest"
1107
1134
gradleParameters: " -PskipFlakyTests"
1108
1135
triggeredBy: *instrumentation_modules
@@ -1117,6 +1144,7 @@ build_test_jobs: &build_test_jobs
1117
1144
- ok_to_test
1118
1145
- build_latestdep
1119
1146
name: test_17_inst_latest
1147
+ resourceClass: xlarge
1120
1148
gradleTarget: " :instrumentationLatestDepTest"
1121
1149
gradleParameters: " -PskipFlakyTests"
1122
1150
triggeredBy: *instrumentation_modules
@@ -1304,6 +1332,7 @@ build_test_jobs: &build_test_jobs
1304
1332
requires:
1305
1333
- ok_to_test
1306
1334
name: z_test_8_smoke
1335
+ resourceClass: xlarge
1307
1336
gradleTarget: " stageMainDist :smokeTest"
1308
1337
gradleParameters: " -PskipFlakyTests"
1309
1338
stage: smoke
0 commit comments