JavaアプリケーションにボトルネックがあったときにまずSQLを疑いますが、
SQLを改善してもまだ遅い場合こいつを使います。
http://info.appdynamics.com/AppDynamicsLiteJavaNetOLD.html
中に入っている「LiteViewer.zip」「AppServerAgentLite.zip」を解凍します。
Javaの起動オプションに
-javaagent:{path}/AppServerAgentLite/javaagent.jar
を指定して起動します。
AppServerAgentLite内に入っている
adlite-viewer.jar
を起動します。
http://{host}:8990/
にアクセスしてログインします、ユーザー名パスワードを指定していない場合はadmin:adminで通ります。
使いかたとしては、JavaアプリケーションをいじっているとSnapshotsのところにデータが出てきますのでそいつの詳細を表示します。
詳細を見るとどこの関数で時間がかかっているかがわかるようになります。
なお、PlayFramework2.0ではそのままでは使えなかったので調整が必要そうです。