diff --git a/jetty/Dockerfile b/jetty/Dockerfile index 610360af527..881027f91e8 100644 --- a/jetty/Dockerfile +++ b/jetty/Dockerfile @@ -2,5 +2,16 @@ FROM jetty:12-jdk21 ADD --chown=jetty:jetty build/jetty-base /jetty-base ADD --chown=jetty:jetty start.sh / ADD --chown=jetty:jetty logging.properties / + +USER root + +# Create a directory, download and extract the Cloud Profiler agent, version locked to "cloud-profiler-java-agent_20241028_RC00.tar.gz". +RUN mkdir -p /opt/cprof && \ + wget -q -O- https://storage.googleapis.com/cloud-profiler/java/cloud-profiler-java-agent_20241028_RC00.tar.gz\ + | tar xzv -C /opt/cprof && \ + chown -R jetty:jetty /opt/cprof + +USER jetty + EXPOSE 8080 ENTRYPOINT ["/bin/sh", "/start.sh"] diff --git a/jetty/start.sh b/jetty/start.sh index c33aec75ac2..2c802d89b66 100755 --- a/jetty/start.sh +++ b/jetty/start.sh @@ -21,6 +21,7 @@ cd webapps find . -maxdepth 1 -type d -name "console-*" -exec rm -rf {} + cd /jetty-base echo "Running ${env}" -java -Dgoogle.registry.environment=${env} \ +java -agentpath:/opt/cprof/profiler_java_agent.so=-cprof_service=nomulus-frontend,-cprof_enable_heap_sampling=true \ + -Dgoogle.registry.environment=${env} \ -Djava.util.logging.config.file=/logging.properties \ -jar /usr/local/jetty/start.jar