github.com/pyroscope-io/pyroscope@v0.37.3-0.20230725203016-5f6947968bd0/examples/java-jfr/fib/Dockerfile (about)

     1  FROM openjdk:17-slim-bullseye
     2  
     3  WORKDIR /opt/app
     4  
     5  RUN apt-get update && apt-get install ca-certificates -y && update-ca-certificates && apt-get install -y git
     6  RUN git clone https://github.com/pyroscope-io/pyroscope-java.git && \
     7      cd pyroscope-java && \
     8      git checkout v0.6.0 && \
     9      ./gradlew shadowJar && \
    10      cp agent/build/libs/pyroscope.jar /opt/app/pyroscope.jar
    11  
    12  COPY Main.java ./
    13  
    14  RUN javac Main.java
    15  
    16  ENV PYROSCOPE_APPLICATION_NAME=fibonacci.java.push.app
    17  ENV PYROSCOPE_FORMAT=jfr
    18  ENV PYROSCOPE_PROFILING_INTERVAL=10ms
    19  ENV PYROSCOPE_PROFILER_EVENT=cpu
    20  ENV PYROSCOPE_PROFILER_LOCK=1
    21  ENV PYROSCOPE_PROFILER_ALLOC=1
    22  ENV PYROSCOPE_UPLOAD_INTERVAL=10s
    23  ENV PYROSCOPE_LOG_LEVEL=debug
    24  ENV PYROSCOPE_SERVER_ADDRESS=http://localhost:4040
    25  
    26  CMD ["java", "-XX:-Inline", "-javaagent:pyroscope.jar", "Main"]