Bytemanでビルドいらずの時間計測処理追加

JBoss.orgにて公開されているBytemanというバイトコードインジェクションツールを用いて、ソースコードに変更を加えず、処理時間を計測する方法を紹介。
再起動とか設定の追加はゆるされるけれど、ソースコードの修正は許されないような場合に便利。
あとはフレームワークやライブラリのような手を出したくない場所の処理時間計測。

まずはJVMに仕込む。
パス等は適当に置き換えて。

export JAVA_OPTS="-javaagent:$BYTEMAN_HOME/lib/byteman.jar=script:$SCRIPT_HOME/TimerRule.btm"

次にルール(Byteman用のスクリプト
とりあえず見た通りなんだけれども、はまりどころはルールの記述順番等形式を勝手に変えられない点(だと思っている)。