File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -73,3 +73,4 @@ upstream.env
7373# Benchmarks #
7474benchmark /reports
7575benchmark /tracer
76+ benchmark /dacapo /scratch
Original file line number Diff line number Diff line change @@ -42,6 +42,14 @@ benchmarks-load:
4242 - ./steps/run-benchmarks.sh load
4343 - ./steps/analyze-results.sh load
4444
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+
4553benchmarks-post-results :
4654 extends : .benchmarks
4755 script :
@@ -53,6 +61,8 @@ benchmarks-post-results:
5361 artifacts : true
5462 - job : benchmarks-load
5563 artifacts : true
64+ - job : benchmarks-dacapo
65+ artifacts : true
5666
5767.dsm-kafka-benchmarks :
5868 stage : benchmarks
Original file line number Diff line number Diff line change @@ -31,6 +31,22 @@ RUN cd insecure-bank \
3131 && ./gradlew bootWar \
3232 && cp build/libs/*.war /insecure-bank.war
3333
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
3450
3551FROM debian:bookworm-slim
3652
@@ -75,3 +91,7 @@ ENV PETCLINIC=/app/spring-petclinic.jar
7591
7692COPY --from=insecure-bank /insecure-bank.war /app/insecure-bank.war
7793ENV 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}"
3838mkdir -p " ${REPORTS_DIR} "
3939
4040if [[ " $# " == ' 0' ]]; then
41- for type in ' startup' ' load' ; do
41+ for type in ' startup' ' load' ' dacapo ' ; do
4242 run_benchmarks " $type "
4343 done
4444else
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 2727 "appsec_no_iast" : {
2828 "env" : {
2929 "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"
3131 }
3232 },
3333 "iast" : {
You can’t perform that action at this time.
0 commit comments