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

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".
  • No labels