The p6spy driver helps you with that. It will give you all the complete queries including parameters that are run in your system, when they are run and how long it takes to execute them. We have built a POB recipe that easily installs p6spy in tomcat. Below is a copy of it:
#!/bin/bash -e # common/tomcat/p6spy-install.sh TOMCAT_SETENV_PATH=/opt/tomcat/bin/setenv.sh ARTIFACTORY_P6SPY_JAR=http://artifactory-server/ext-releases-local/p6spy/p6spy/1.1/p6spy-1.1.jar SVN_P6SPY_PROPERTIES=http:/my.path.to.svn.spy.properties/spy.properties curl -o /opt/tomcat/lib/psspy.jar $ARTIFACTORY_JAR common/tools/export-from-svn.sh /opt/tomcat/lib/ SVN_P6SPY_PROPERTIES sed -i 's/\(jdbc.*driverClassName\).*/\1=com.p6spy.engine.spy.P6SpyDriver/g' /opt/tomcat/lib/sample-app.properties sed -i "/JAVA_OPTS -Dp6.home/d" $TOMCAT_SETENV_PATH echo "JAVA_OPTS=\"\$JAVA_OPTS -Dp6.home=/opt/tomcat/lib/\"" >> $TOMCAT_SETENV_PATHBreakpoints do not help when troubleshooting concurrency issues. Real world goes beyond the development box and so only hitting your application with a stress test (read JMeter for example) can prove that you have no issues that will later come back to your plate. At a minimum run those stress tests in Integration environment every so often.