Profiling Procedure
- YourKit 12 (committers are eligible for a free Open Source license)
Tomcat
Local
- Download YourKit bundle
- Install YourKit, in this example, at:
/opt/yourkit
Update
JAVA_OPTS
(/etc/default/tomcat7)JAVA_OPTS="${JAVA_OPTS} -agentpath:/opt/yourkit/yjp-2016.02/bin/linux-x86-64/libyjpagent.so=delay=10000"
If error in catalina.out such as: "Cannot create log file: /usr/share/tomcat7/.yjp/log/Tomcat-24495.log", then create the appropriate
.yjp
directory with owner of the Tomcat7 user
Remote
- Same as above, and open ports
10001 - 10010
- See: https://www.yourkit.com/docs/java/help/remote_profiling.jsp
Running Profile
With either the local or remote server, then run in the directory where you installed the YourKit bundle locally
./bin/yjp-12.0.5/bin/yjp.sh
Jetty
- To profile fcrepo4 with mvn jetty:run (as opposed to profiling a deployment of the webapp in another container)
- Determine the path to your profiler agent library (platform dependent), see: http://www.yourkit.com/docs/12/help/agent.jsp
- include -agentpath in your MAVEN_OPTS, for example, on OS X:
export MAVEN_OPTS="-Xmx1024m -XX:MetaspaceSize=256m -agentpath:/Applications/YourKit_Java_Profiler_12.0.5.app/bin/mac/libyjpagent.jnilib=delay=10000"
- cd fcrepo4/fcrepo-webapp
- mvn jetty:run
- YourKit should now display "Launcher" application as "Ready for profiling".