TPTP4.4.0.3でTomcatプロファイル
Tomcatをスタンドアロンで起動して、アタッチする場合
VMオプションに-agentlib:JPIBootLoader=...ってのを指定するそうです。
(Java1.4までとオプション指定が異なります)
んで、上のオプション指定してTomcat起動してみると、こんなエラー出ます。
Error occurred during initialization of VM
Could not find agent library on the library path or in the local directory: JPIBootLoader
ググッテ見ると
http://d.hatena.ne.jp/pomo123/20071021/1192923350
TPTPのバージョンによってちょこちょこやり方が変わっているのか、モニタリングする対象のJavaアプリ(Tomcatなど)を起動するときのオプションやら環境変数やらの設定に関して、検索で見つけた情報ではなかなかうまくいかない。。。と思っていたら本家のドキュメントにちゃんと書いあった
だそうです。
よく見たら、getting_start.htmlに書いてますね。ちゃんと読まないと。。。
環境変数やパスをいろいろ指定しないといけないんですね。
昔のバージョンだとPATHってbinだけでよかったんだけど
↓こんな感じで動いたよ(ほぼ上のhtmlまま)
Set TPTP_AC_HOME=
Set JAVA_PROFILER_HOME=%TPTP_AC_HOME%\plugins\org.eclipse.tptp.javaprofiler
Set PATH=%JAVA_PROFILER_HOME%;%PATH%;%TPTP_AC_HOME%\bin
Set PATH=%PATH%;%JAVA_HOME%\bin
Set JAVA_OPTS=-agentlib:JPIBootLoader=JPIAgent:server=enabled;CGProf
catalina run
と思ったら、今度はこんなエラーが!
java.exeのポップアップ
AgentBase.dllが見つからないため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。
catalina起動のコンソール
[Error: FATAL ERROR: JPIAgent can't load ACCollector]
ファイル検索でAgentBase.dllを検索したら、Agent Controllerのbinにあった。
あれー変だなー?PATH通ってんのに。
って、よく見たら、上のSet〜のスクリプトの後に空白が!
PATHが空白入りになってる!
getting_start.htmlからコピーしてそのまま使ったからだ!
で、ようやく動きましたが。。。
この前後あわせて3時間ぐらいロスしたか。
知らないツールの設定系ではまるってつまらんすぎる。てかアホすぎる。
あ、上の参考の人は、Tomcat起動60sかかる超おせーって書いてたけど、うちは2sぐらいで起動した。デプロイしてるアプリのでかさ(Tomcat起動時に同時に起動するタイプの)か、分析対象の指定か、フィルターがらみか。