2009年8月20日木曜日

Java Interactive Profiler (JIP)

ふとした事情でプロファイラを試していたんだけど、JDKに標準でついているhprof重い・・・。
tomcatの起動時間が数百倍になっちゃったのでこれは使えん。

何か言いの無いかなーと思って探すとJIPってのを発見!
作者が独自のプロファイリングツールを構築するって記事を書いていて読んでみると、何々・・・
  • ブートクラスなんてプロファイル対象に含めなくてもいいでしょ
  • tomcat上のWebアプリのプロファイリングにorg.apache.catalinaとかのクラスをプロファイル対象に含めなくてもいいでしょ
確かに「HashMap#getがいっぱいCallされてますー」とかわかってもあまりうれしくない。(必要なときもあるだろうけど)

そこでこのJIPのいいところは、
  • プロファイリングにかかるオーバーヘッドが小さいらしい(自称)
  • クラスローダーでフィルタリングできる(tomcatだとWebApplicationLoaderがロードするクラスのみとか)
  • 特定パッケージ以下の指定でinclude,excludeフィルタリングができる
  • AOPを使ってPure Java
  • リモートでプロファイリングのON/OFFを制御できる(JVMの再起動なしに!)
と言う感じ。

時間がなくなってきたので細かい使い方はまたあとで。試した感じは「良い感じ」と言っておこう。

0 件のコメント: