File tree 7 files changed +119
-2
lines changed
7 files changed +119
-2
lines changed Original file line number Diff line number Diff line change @@ -73,3 +73,4 @@ upstream.env
73
73
# Benchmarks #
74
74
benchmark /reports
75
75
benchmark /tracer
76
+ benchmark /dacapo /scratch
Original file line number Diff line number Diff line change @@ -42,6 +42,14 @@ benchmarks-load:
42
42
- ./steps/run-benchmarks.sh load
43
43
- ./steps/analyze-results.sh load
44
44
45
+ benchmarks-dacapo :
46
+ extends : .benchmarks
47
+ script :
48
+ - !reference [ .benchmarks, script ]
49
+ - ./steps/capture-hardware-software-info.sh
50
+ - ./steps/run-benchmarks.sh dacapo
51
+ - ./steps/analyze-results.sh dacapo
52
+
45
53
benchmarks-post-results :
46
54
extends : .benchmarks
47
55
script :
@@ -53,6 +61,8 @@ benchmarks-post-results:
53
61
artifacts : true
54
62
- job : benchmarks-load
55
63
artifacts : true
64
+ - job : benchmarks-dacapo
65
+ artifacts : true
56
66
57
67
.dsm-kafka-benchmarks :
58
68
stage : benchmarks
Original file line number Diff line number Diff line change @@ -31,6 +31,22 @@ RUN cd insecure-bank \
31
31
&& ./gradlew bootWar \
32
32
&& cp build/libs/*.war /insecure-bank.war
33
33
34
+ # Dacapo download
35
+ FROM debian:bookworm-slim as dacapo
36
+ RUN apt-get update \
37
+ && apt-get -y install wget unzip \
38
+ && apt-get -y clean \
39
+ && rm -rf /var/lib/apt/lists/*
40
+
41
+ ARG DACAPO_VERSION=23.11-chopin
42
+ # The data for the big benchmarks is removed too ensure the final docker image is not too big
43
+ RUN wget -nv -O dacapo.zip https://download.dacapobench.org/chopin/dacapo-$DACAPO_VERSION.zip \
44
+ && mkdir /dacapo \
45
+ && unzip dacapo.zip -d /dacapo/ \
46
+ && rm -rf /dacapo/dacapo-$DACAPO_VERSION/dat/luindex \
47
+ && rm -rf /dacapo/dacapo-$DACAPO_VERSION/dat/lusearch \
48
+ && rm -rf /dacapo/dacapo-$DACAPO_VERSION/dat/graphchi \
49
+ && rm dacapo.zip
34
50
35
51
FROM debian:bookworm-slim
36
52
@@ -75,3 +91,7 @@ ENV PETCLINIC=/app/spring-petclinic.jar
75
91
76
92
COPY --from=insecure-bank /insecure-bank.war /app/insecure-bank.war
77
93
ENV INSECURE_BANK=/app/insecure-bank.war
94
+
95
+ COPY --from=dacapo /dacapo/ /app/
96
+ ARG DACAPO_VERSION=23.11-chopin
97
+ ENV DACAPO=/app/dacapo-$DACAPO_VERSION.jar
Original file line number Diff line number Diff line change @@ -38,7 +38,7 @@ rm -rf "${REPORTS_DIR}"
38
38
mkdir -p " ${REPORTS_DIR} "
39
39
40
40
if [[ " $# " == ' 0' ]]; then
41
- for type in ' startup' ' load' ; do
41
+ for type in ' startup' ' load' ' dacapo ' ; do
42
42
run_benchmarks " $type "
43
43
done
44
44
else
Original file line number Diff line number Diff line change
1
+ {
2
+ "name" : " dacapo_${BENCHMARK}" ,
3
+ "setup" : " bash -c \" mkdir -p ${OUTPUT_DIR}/${VARIANT}\" " ,
4
+ "run" : " bash -c \" java ${JAVA_OPTS} -jar ${DACAPO} --converge --scratch-directory=${OUTPUT_DIR}/${VARIANT}/scratch --latency-csv ${BENCHMARK} &> ${OUTPUT_DIR}/${VARIANT}/dacapo.log\" " ,
5
+ "timeout" : 150 ,
6
+ "iterations" : 1 ,
7
+ "variants" : {
8
+ "${NO_AGENT_VARIANT}" : {
9
+ "env" : {
10
+ "VARIANT" : " ${NO_AGENT_VARIANT}" ,
11
+ "JAVA_OPTS" : " "
12
+ }
13
+ },
14
+ "tracing" : {
15
+ "env" : {
16
+ "VARIANT" : " tracing" ,
17
+ "JAVA_OPTS" : " -javaagent:${TRACER}"
18
+ }
19
+ },
20
+ "profiling" : {
21
+ "env" : {
22
+ "VARIANT" : " profiling" ,
23
+ "JAVA_OPTS" : " -javaagent:${TRACER} -Ddd.profiling.enabled=true"
24
+ }
25
+ },
26
+ "appsec" : {
27
+ "env" : {
28
+ "VARIANT" : " appsec" ,
29
+ "JAVA_OPTS" : " -javaagent:${TRACER} -Ddd.appsec.enabled=true -Ddd.iast.enabled=false"
30
+ }
31
+ },
32
+ "iast" : {
33
+ "env" : {
34
+ "VARIANT" : " iast" ,
35
+ "JAVA_OPTS" : " -javaagent:${TRACER} -Ddd.iast.enabled=true"
36
+ }
37
+ },
38
+ "iast_GLOBAL" : {
39
+ "env" : {
40
+ "VARIANT" : " iast_GLOBAL" ,
41
+ "JAVA_OPTS" : " -javaagent:${TRACER} -Ddd.iast.enabled=true -Ddd.iast.context.mode=GLOBAL"
42
+ }
43
+ }
44
+ }
45
+ }
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+ set -eu
3
+
4
+ source " ${UTILS_DIR} /update-java-version.sh" 11
5
+
6
+ function message() {
7
+ echo " $( date +" %T" ) : $1 "
8
+ }
9
+
10
+ run_benchmark () {
11
+ local type=$1
12
+
13
+ message " dacapo benchmark: ${type} started"
14
+
15
+ # export the benchmark
16
+ export BENCHMARK=" ${type} "
17
+
18
+ # create output folder for the test
19
+ export OUTPUT_DIR=" ${REPORTS_DIR} /dacapo/${type} "
20
+ mkdir -p " ${OUTPUT_DIR} "
21
+
22
+ # substitute environment variables in the json file
23
+ benchmark=$( mktemp)
24
+ # shellcheck disable=SC2046
25
+ # shellcheck disable=SC2016
26
+ envsubst " $( printf ' ${%s} ' $( env | cut -d' =' -f1) ) " < benchmark.json > " ${benchmark} "
27
+
28
+ # run the sirun test
29
+ sirun " ${benchmark} " & > " ${OUTPUT_DIR} /${type} .json"
30
+
31
+ message " dacapo benchmark: ${type} finished"
32
+ }
33
+
34
+ if [ " $# " == ' 2' ]; then
35
+ run_benchmark " $2 "
36
+ else
37
+ for benchmark in biojava tomcat ; do
38
+ run_benchmark " ${benchmark} "
39
+ done
40
+ fi
41
+
Original file line number Diff line number Diff line change 27
27
"appsec_no_iast" : {
28
28
"env" : {
29
29
"VARIANT" : " appsec" ,
30
- "JAVA_OPTS" : " -javaagent:${TRACER} -Ddd.benchmark.enabled=true -Ddd.benchmark.output.dir=${OUTPUT_DIR}/appsec_no_iast - Ddd.appsec.enabled=true -Ddd.iast.enabled=false"
30
+ "JAVA_OPTS" : " -Ddd.appsec.enabled=true -Ddd.iast.enabled=false"
31
31
}
32
32
},
33
33
"iast" : {
You can’t perform that action at this time.
0 commit comments