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"