github.com/grafana/pyroscope@v1.18.0/examples/language-sdk-instrumentation/java/rideshare/Dockerfile (about) 1 FROM --platform=$BUILDPLATFORM sapmachine:21-jdk-headless AS builder 2 3 WORKDIR /opt/app 4 5 RUN apt-get update && apt-get install ca-certificates -y && update-ca-certificates 6 7 8 9 COPY gradlew . 10 COPY gradle gradle 11 RUN ./gradlew 12 13 COPY build.gradle.kts settings.gradle.kts ./ 14 RUN ./gradlew dependencies --no-daemon 15 16 COPY src src 17 RUN ./gradlew assemble --no-daemon 18 19 20 FROM sapmachine:21-jdk-headless 21 22 RUN apt-get update && apt-get install ca-certificates -y && update-ca-certificates 23 24 ENV PYROSCOPE_APPLICATION_NAME=rideshare.java.push.app 25 ENV PYROSCOPE_FORMAT=jfr 26 ENV PYROSCOPE_PROFILING_INTERVAL=10ms 27 ENV PYROSCOPE_PROFILER_EVENT=itimer 28 ENV PYROSCOPE_PROFILER_LOCK=10ms 29 ENV PYROSCOPE_PROFILER_ALLOC=512k 30 ENV PYROSCOPE_UPLOAD_INTERVAL=15s 31 ENV PYROSCOPE_LOG_LEVEL=debug 32 ENV PYROSCOPE_SERVER_ADDRESS=http://localhost:4040 33 ENV RIDESHARE_LISTEN_PORT=5000 34 EXPOSE 5000 35 36 COPY --from=builder /opt/app/build/libs/rideshare-1.0-SNAPSHOT.jar /opt/app/build/libs/rideshare-1.0-SNAPSHOT.jar 37 38 WORKDIR /opt/app 39 40 ADD https://github.com/grafana/pyroscope-java/releases/download/v2.1.2/pyroscope.jar /opt/app/pyroscope.jar 41 42 CMD sh -c "exec java -Dserver.port=${RIDESHARE_LISTEN_PORT} -javaagent:pyroscope.jar -jar ./build/libs/rideshare-1.0-SNAPSHOT.jar"